Java - 将用户重新发送回去?

时间:2014-08-11 20:40:57

标签: java

如果用户要求,我将如何重新启动应用程序。 这是我的代码:

    System.out.println("Restart?");
    System.out.println("Press 1: Restart");
    System.out.println("Press 2: Finish");
    int restart = sc.nextInt();
    if(restart == 1){

    }
    else if (restart != 1){
        System.out.println("Goodbye..");
    }

所以如果用户按1,应用程序将重新启动..我该如何创建它?

4 个答案:

答案 0 :(得分:1)

您的应用程序听起来像一个循环,所以让我们使用一个。

/* @return true if should restart */
boolean run() {
   System.out.println("Restart?");
   System.out.println("Press 1: Restart");
   System.out.println("Press 2: Finish");
   int restart = sc.nextInt();
   if(restart == 1){
      return true;
   }
   else if (restart != 1){
       System.out.println("Goodbye..");
       return false;
   }
}

while (run());

但这是Java,所以你不妨更多地面向对象。

public class MyRestartable {
    private boolean shouldRestart = true;

    public void run() {
      while(this.shouldRestart) {
        start();
      }
      System.out.println("Goodbye..");
    }

 boolean start() {
       System.out.println("Restart?");
       System.out.println("Press 1: Restart");
       System.out.println("Press 2: Finish");
       this.shouldRestart = sc.nextInt();
    }
}

答案 1 :(得分:0)

哦基于对象编程的乐趣。

    void start() {
       System.out.println("Restart?");
       System.out.println("Press 1: Restart");
       System.out.println("Press 2: Finish");
       int restart = sc.nextInt();
       if(restart == 1){
          ***start();***
       }
       else if (restart != 1){
           System.out.println("Goodbye..");
       }

答案 2 :(得分:0)

使用while循环,在您要将用户发送回开头的位置,使用break;语句中附带的if命令来确定用户是否是发回或继续。

答案 3 :(得分:0)

简单的while循环可行。

public static void Loop(){
    Scanner input = new Scanner(System.in);
    int loop = 1;

    while(loop == 1){
        System.out.println("Would you like to restart?");
        System.out.println("Press 1 = yes");
        System.out.println("Press 2 = no");
        loop = input.nextInt();
    } 
}