2016-04-27 195 views
-3

我正在嘗試編寫代碼,要求我插入我的年齡。如果它在10歲以下,我希望它再問我3次。如果它在10以上,它會說「歡迎」。我無法做到這一點。循環掃描儀

package newProject; 
import java.util.Scanner; 
    public class mainclass { 
     public static void main(String[] args) { 

      System.out.println("Enter your age"); 
      Scanner age= new Scanner(System.in); 

      int userage= age.nextInt(); 
      if(userage<10){ 
       for(int x = 3;x<3;x++){ 
        System.out.println(userage+ "is too young"); 
        System.out.println("Enter your age"); 
        int userage1= age.nextInt(); 
       } 
      }else{ 
       System.out.println("welcome"); 
      } 
     } 
    } 
+3

除了嚴重的代碼格式問題,我們需要更多的信息,而不僅僅是「它無法做到這一點」。請參閱[如何提問](http://www.stackoverflow.com/help/how-to-ask)。 – CodeMouse92

回答

2

無論程序的意義如何,您的錯誤都是您在x變量中設置的值。您必須將迭代3次的值設置爲0。

System.out.println("Enter your age"); 
    Scanner age= new Scanner(System.in); 

    int userage= age.nextInt(); 
    if(userage<10) { 
    // You have to set x to 0 not 3 
    for(int x = 0;x<3;x++){ 
     System.out.println(userage + "is too young"); 
     System.out.println("Enter your age"); 
     int userage1= age.nextInt();} 
    } 
    else{ 
     System.out.println("welcome"); 
    } 
+0

我只是練習java我今天自己學習所以... 當我寫你的代碼,機器打印我寫的第一個答案,例如,如果我寫5然後它無所謂我接下來寫什麼它保持打印「 5太年輕了「 –

+0

這是因爲如果你看到for循環中的第一個打印,你使用了userage變量,但是在你讀取了userage1變量後,如果你想解決這個問題,第二個userage應該是這樣的:userage = age.nextInt();而不是一個新的變量userage1。你明白我說的嗎? –

0

這裏的問題:

for(int x = 3;x<3;x++) 

你已經設置for循環運行,只要x小於3,但你聲明x等於3。因此,條件x<3永遠不會滿足,所以循環永遠不會運行。下面是你應該做的:

for (int x=0; x<3; x++) 

順便說一下,請使用適當的縮進格式化您的代碼。沒有縮進就很難閱讀。

0
package newProject; 
import java.util.Scanner; 
public class mainclass { 
    public static void main(String[] args) { 
     System.out.println("Enter your age"); 
     Scanner age= new Scanner(System.in); 

     int userage= age.nextInt(); 
     if(userage<10){ 
      for(int i = 0;i<3;i++){ 
       System.out.println(userage+ "is too young"); 
       System.out.println("Enter your age"); 
       int userage1= age.nextInt(); 
      } 
     } 

     else{ 
      System.out.println("welcome"); 
     } 
    } 
} 
+0

這實際上只是現有答案的重複。 – Pang