@Jonibek

Как реализовать в Java возврат к началу класса?

Друзья, я недавно начал изучать Java. Сейчас пишу небольшую программу. Скажите пожалуйста, как реализовать в программе возврат (передача управления) к началу класса? Например, в конце программы спрашивается, хочет ли пользователь начать заново и при введение соответствующего символа, программа должна запуститься повторно то есть начать с класса Main. Как это можно реализовать? Спасибо заранее всем за ответы.
  • Вопрос задан
  • 8960 просмотров
Пригласить эксперта
Ответы на вопрос 3
EugeneP2
@EugeneP2
Java Dev
Как то так обычно это делается
package ru.toster.java.q241826;

import java.util.Date;
import java.util.Scanner;

public class App {

	public static void main(String[] args) {

		Scanner scnr = new Scanner(System.in);

		while (true) {

			System.out.print("enter command>");
			String command = scnr.nextLine();

			if ("help".equals(command)) {
				printListCommand();
			} else if ("date".equals(command)) {
				printDate();
			} else if ("time".equals(command)) {
				printTime();
			} else if ("exit".equals(command)) {
				System.out.println("Good Bye!");
				break;
			} else {
				System.out.println("Unknown command! Please enter 'help'");
			}

		}		
		scnr.close();
	}
	
	private static void printTime() {
		System.out.printf("%1tT\n", new Date());		
	}

	private static void printDate() {
		System.out.printf("%1tY-%1$tm-%1$td\n", new Date());		
	}

	private static void printListCommand() {
		System.out.println(
				"'help'\tprint list commands;\n" + 
				"'exit'\texit from programm;\n" + 
				"'date'\tprint today's date;\n" + 
				"'time'\tprint current time;");
	}
}
Ответ написан
@MJee
Разработчик мобильных приложений для Android
Я бы сделала так:
class MyClass  {
  public static void main (String [] args) {
    start();
  }

  private void start() {
    // do something
    // ask user if he want to start again
    if (needStartAgain == true) {
      start();
    }
  }
}
Ответ написан
OlegWock
@OlegWock
Python, Java+Android, Frontend
если у вас все в одном методе, то можно или в бесконечный цикл кинуть или рекурсивно метод вызывать
// Variant 1
class Lol {
    public void main(String[] args) {
        while(true) {
            // prog code
           // ввод от пользователя. Если символ не тот -- break
        }
    }
}

// Variant 2
class Lol2 {
    public void main(String[] args) {
        // prog code
        // ввод от пользователя. Если символ тот -- this.main(args)
    }
}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы