2017-08-02 29 views
-3
import java.util.Scanner; 

public class HelloWorld { 
    public static void main(String[] args) { 
     // Prints "Hello, World" in the terminal window. 

     Scanner quest = new Scanner(System.in);enter code here 
     System.out.println("How old are you?: "); 
     int num = quest.nextInt(); 

     if (num <= 12){ 
     System.out.println("You are too young to be on the computer!!!!"); 
     } else if (num >=13 && num <= 17){ 
     System.out.println("Welcome young teen"); 
     } else if (17 < num && num <= 60){ 
     System.out.println("Welcome adult"); 
     } else if (60 < num){ 
     System.out.println("Welcome senior citizen!!"); 
     } else{ 
     System.out.println("Invalid age."); 
     } 

    } 
} 

マイナスの数字を入力すると、「あなたはコンピュータにいても若すぎます!!!!」の下に表示されます。 「無効な年齢」を表示する代わりに私は条件を変更しようとしましたが、それはうまく動作していないようです。負の数が認識されない

+0

これが最初の条件だからです。 'num <= 12 && num> 0'か何かをします。 – Li357

+0

負の値は、最初の 'if'を真にし、次にそれを表示します。 – SHG

+2

新しいファンギルドの数学は、-1> 12! – John3136

答えて

1

負の数が12未満であるため、あなた負の値をテストし、以前の状態をチェックするに依存することによって、あなたの&&チェックを排除することによって、if-elseブロックのあなたのチェーンを簡素化することができます。同様に、

int num = quest.nextInt(); 
if (num < 0) { // <-- negative values. 
    System.out.println("Invalid age."); 
} else if (num <= 12) { // <-- (0, 12) 
    System.out.println("You are too young to be on the computer!!!!"); 
} else if (num <= 17) { // <-- (13, 17) 
    System.out.println("Welcome young teen"); 
} else if (num <= 60) { // <-- (18, 60) 
    System.out.println("Welcome adult"); 
} else { // <-- greater than 60 
    System.out.println("Welcome senior citizen!!"); 
} 
0

if(Condition) { //Code }ステートメントで最初の条件にしておく必要があります。さて、私はコードを実行し、ちょっとあなたのコードに少し調整を加えました。

import java.util.Scanner; 

public class HelloWorld { 
    public static void main(String[] args) { 
     // Prints "Hello, World" in the terminal window. 

     Scanner quest = new Scanner(System.in); //enter code here 
     System.out.println("How old are you?: "); 
     int num = quest.nextInt(); 

     if (num <= 0) { 
      System.out.println("Invalid age."); 
     } else if (num <= 12){ 
     System.out.println("You are too young to be on the computer!!!!"); 
     } else if (num >=13 && num <= 17){ 
     System.out.println("Welcome young teen"); 
     } else if (17 < num && num <= 60){ 
     System.out.println("Welcome adult"); 
     } else if (60 < num){ 
     System.out.println("Welcome senior citizen!!"); 
     } 
    } 
} 
+0

両方の人にありがとう、本当に助けた。また、私のコードを単純化するのを助けました。それは私のロジックがまだそこにないようにコーディングして以来、しばらくしています。 –

+0

あなたの問題を解決するために私の答えや他のユーザーの答えが役に立った場合、それを親切に回答としてマークし、@GabeGomezをupvoteしてください – Eazy

関連する問題