2013-11-13 11 views
0

Не могли бы вы помочь мне с этим кодом?Обратный цикл в операторе if


Любой совет высоко ценится - Newbie2Java я имел некоторый большой вклад - спасибо (отсутствует связь)

Это мой код:

импорт java.util.Scanner;

общественного класса Question5WIP {

/** 
* @param args 


public static void main(String[] args) { 
    // TODO Auto-generated method stub 
    // boolean correctInput = false; // assume we dont have correct input 
    // while (!correctInput){  // continue as long as not correct input 

    int hourValue = 0; 
    Scanner in; 
    while (!(hourValue > 0 && hourValue <= 12)) { 
     System. out.println("Please enter the hours (between 1 and 12): ");         
     in = new Scanner(System.in); // User input hour value. 

     hourValue = in.nextInt(); 

     if (!(hourValue > 0 && hourValue <= 12)) { 
      System.out.println("Hour Value should be between 1 and 12, please try again "); // invalid hours. 

     } 
    } 

    int minuteValue = 0; 
    // Scanner in; 
    while (!(minuteValue > 0 && hourValue <= 60)) { 
     System. out.println("Please enter the minutes (between 1 and 60): ");         
     in = new Scanner(System.in); // User input hour value. 

     minuteValue = in.nextInt(); 

     if (!(minuteValue > 0 && minuteValue <= 60)) { 
      System.out.println("Invalid entry, please try again: "); // invalid hours. 
      return; 
     } 
+0

Это, кажется, не имеют ничего общего с JavaScript. – Tibos

ответ

0

Попробуйте его, давая правильный ответ

import java.util.Scanner; 

    public class Test { 

public static void main(String[] args) { 

    int hourValue = 0; 
    Scanner in; 
    while (!(hourValue > 0 && hourValue <= 12)) { 
     System. out.println("Please enter the hours (between 1 and 12): ");         
     in = new Scanner(System.in); // User input hour value. 

     hourValue = in.nextInt(); 

     if (!(hourValue > 0 && hourValue <= 12)) { 
      System.out.println("Hour Value should be between 1 and 12, 
         please try again "); // invalid hours. 

     } 
    } 

    int minuteValue; 
    System.out.println("Please enter the minutes (between 1 and 60): "); 
     // The program prompts for the hour. 
    in = new Scanner(System.in); // User input hour value. 

    minuteValue = in.nextInt(); 

    if (!(minuteValue >= 0 && minuteValue <= 60)) { 
     System.out.println("Minute Value should be between 0 and 60, 
        please try again "); // invalid minutes. 
     return; 

    } 
} 

}

+0

Благодарим вас за сообщение, самое полезное. – Rouxster

0

Делают это с петлей в то время! Например:

int hourValue; 
while(!(hourValue > 0 && hourValue <= 12)) { 
    System.out.println("Please enter the hours (between 1 and 12): "); //The program prompts for the hour. 
    Scanner in = new Scanner(System.in); // User input hour value. 

    hourValue = in.nextInt();   

    if(!(hourValue > 0 && hourValue <= 12)){ 
      System.out.println("Hour Value should be between 1 and 12, please try again "); //invalid hours. 
      return; 

    } 
} 

    int minuteValue; 
    System.out.println("Please enter the minutes (between 1 and 60): "); //The program prompts for the hour. 
    in = new Scanner(System.in); // User input hour value. 

    minuteValue = in.nextInt();   

    if(!(minuteValue >= 0 && minuteValue <= 60)){ 
      System.out.println("Minute Value should be between 0 and 60, please try again "); //invalid minutes. 
      return; 

Теперь вам нужно сделать то же самое для минут.

+0

Во втором 'if' вам не нужен оператор return, потому что вы должны снова ввести значение часа. Вместо этого вы должны добавить дополнительный блок else с перерывом из цикла, если час является приемлемым. – mishadoff

+0

Благодарим вас за сообщение, самое полезное. – Rouxster

+0

@ Rouxster, если это вам помогло, дайте им ответ и/или принимайте ответ –

1
import java.util.Scanner; 

public class Test { 
    public static void main(String[] args) { 
     int hourValue, minuteValue; 
     Scanner in; 

     while (true) { 
      System. out.println("Please enter the hours (between 1 and 12): "); 
      in = new Scanner(System.in); // User input hour value. 
      hourValue = in.nextInt(); 
      if (hourValue < 0 || hourValue > 12)) 
       System.out.println("Hour Value should be between 1 and 12, please try again "); 
      else 
       break; 
     } 

     while(true) { 
      System.out.println("Please enter the minutes (between 1 and 60): "); 
      in = new Scanner(System.in); 
      minuteValue = in.nextInt(); 
      if (minuteValue < 0 || minuteValue > 60)) 
       System.out.println("Minute Value should be between 0 and 60,please try again ");//invalid minutes. 
      else 
       break; 
     } 
    } 
} 
+0

Спасибо, это помогло мне много ... – Rouxster

0

импорта java.util.Scanner;

общественного класса Test {

государственной статической силы основных (String [] арг) {

int hourValue = 0; 
Scanner in; 
while (!(hourValue > 0 && hourValue <= 12)) { 
    System. out.println("Please enter the hours (between 1 and 12): ");         
    in = new Scanner(System.in); // User input hour value. 

    hourValue = in.nextInt(); 

    if (!(hourValue > 0 && hourValue <= 12)) { 
     System.out.println("Hour Value should be between 1 and 12, 
        please try again "); // invalid hours. 

    } 
} 

int minuteValue; 
System.out.println("Please enter the minutes (between 1 and 60): "); 
    // The program prompts for the hour. 
in = new Scanner(System.in); // User input hour value. 

minuteValue = in.nextInt(); 

if (!(minuteValue >= 0 && minuteValue <= 60)) { 
    System.out.println("Minute Value should be between 0 and 60, 
       please try again "); // invalid minutes. 
    return; 
Смежные вопросы