2015-08-14 2 views
1

Как я зациклирую эту программу WHOLE?Как зацикливать эту простую программу?

public class Experiments { 
    public static void main(String[] args) { 
     int n; 

     System.out.print("Please enter a number:"); 
     n = TextIO.getlnInt(); 

     while (n<3) { 
      System.out.print("Please enter another number:"); 
      n = TextIO.getlnInt(); 
     } 
     while (n<=5) { 
      System.out.println("Number entered should be more than 5."); 
      System.out.println("Please re-enter:"); 
      n=TextIO.getlnInt(); 
     } 
     if (n%2==0) { 
      n=n*2+1; 
     } 
     else { 
      n=n*2; 
     } 
     System.out.println("The result is "+n +"."); 
    } 
} 

Когда он печатает результат:

Результат является 14.

Я хочу сказать, что-то вроде:

повеселились? Давай сделаем это снова.
Пожалуйста, введите номер:

или

повеселились? Хотите сделать это снова. Нажмите y/n.
Пожалуйста, введите номер:

+3

вы знаете, как работает цикл, вы используете его. Так почему бы вам просто не обернуть весь код внутри другого цикла? – SomeJavaGuy

+0

Пожалуйста, не используйте тег [oracle] для чистых вопросов Java. Конечно, Oracle Corporation владеет языком программирования, но это совпадение. SO хранит тег [oracle] для почтенного продукта базы данных. – APC

ответ

1

Вы должны сделать что-то вроде этого:

Scanner s = new Scanner(System.in); 
char c; 
do { 
    your_code 
    c = s.next().charAt(0); 
} while(c == 'y'); 

, и благодаря этому ваша программа попросит вас каждый раз, если вы хотите продолжить и при вводе «Y» то он снова зациклится. В противном случае он выйдет из цикла.

0

Вы можете использовать рекурсивный. Пример, как это:

public class Experiments { 
    public static void main(String[] args) { 
     guess(); 
    } 

    public static void guess() { 
     int n; 

     System.out.print("Please enter a number:"); 
     n = TextIO.getlnInt(); 

     while (n<3) { 
      System.out.print("Please enter another number:"); 
      n = TextIO.getlnInt(); 
     } 
     while (n<=5) { 
      System.out.println("Number entered should be more than 5."); 
      System.out.println("Please re-enter:"); 
      n=TextIO.getlnInt(); 
     } 
     if (n%2==0) { 
      n=n*2+1; 
     } 
     else { 
      n=n*2; 
     } 
     System.out.println("The result is "+n +"."); 
     System.out.println("Had fun? Lets do it again."); 
     guess(); 
    } 
} 
1

Чтобы объединить код с примером из wawek:

public class Experiments { 
    public static void main(String[] args) { 

    Scanner s = new Scanner(System.in); 
    do { 
     play(); 
    System.out.println("Again (press y) else press Anykey"); 
     c = s.next().charAt(0); 
    } while(c == 'y'); 

    } 

    public static play(){ 
     int n; 

     System.out.print("Please enter a number:"); 
     n = TextIO.getlnInt(); 

     while (n<3) { 
      System.out.print("Please enter another number:"); 
      n = TextIO.getlnInt(); 
     } 
     while (n<=5) { 
      System.out.println("Number entered should be more than 5."); 
      System.out.println("Please re-enter:"); 
      n=TextIO.getlnInt(); 
     } 
     if (n%2==0) { 
      n=n*2+1; 
     } 
     else { 
      n=n*2; 
     } 
     System.out.println("The result is "+n +"."); 
    } 
    } 
0

Почитай пользователь следующей строки символы для да и затем запустить всю последовательность как shwon ниже.

public class Experiments { 

    public static void main(String[] args) { 
     int n; 

     while(againFlag=='y'){ 
     System.out.print("Please enter a number:"); 
     n = TextIO.getlnInt(); 

     while (n<3) { 
      System.out.print("Please enter another number:"); 
      n = TextIO.getlnInt(); 
     } 
     while (n<=5) { 
      System.out.println("Number entered should be more than 5."); 
      System.out.println("Please re-enter:"); 
      n=TextIO.getlnInt(); 
     } 
     if (n%2==0) { 
      n=n*2+1; 
     } 
     else { 
      n=n*2; 
     } 
     System.out.println("The result is "+n +"."); 
     System.out.println("Had fun. Want do it again?(Press 'y')"); 
     char againFlag = TextIO.getlnChar(); 
     } 

    } 
1
public class Experiments { 
public static void main(String[] args) { 
Scanner s = new Scanner(System.in); 
char c; 
    int n; 
do{ 
    System.out.print("Please enter a number:"); 
    n = TextIO.getlnInt(); 

    while (n<3) { 
     System.out.print("Please enter another number:"); 
     n = TextIO.getlnInt(); 
    } 
    while (n<=5) { 
     System.out.println("Number entered should be more than 5."); 
     System.out.println("Please re-enter:"); 
     n=TextIO.getlnInt(); 
    } 
    if (n%2==0) { 
     n=n*2+1; 
    } 
    else { 
     n=n*2; 
    } 
    System.out.println("The result is "+n +"."); 
    System.out.println("Had fun? press y do it again n to exit"); 
    c = s.next().charAt(0); 
    } while(c == 'y'); 

} 

Заслуга @wawek

Смежные вопросы