2016-10-10 2 views
-2

このアクティビティでは、キーボードから入力された数値が0から100の間で有効かどうかをテストする必要があります。問題は、もし誰かが負の数を入力すると、 "有効"と "有効ではない"私はちょうど有効でない印刷したい、誰かが私を助けることができますか?0から100までの入力検証

Scanner scan = new Scanner(System.in); 

     System.out.println("Enter a test score: "); 

     double t = scan.nextDouble(); 


     if(t <= 100) 
     { 
     System.out.println("Valid"); 
     } 
     if(t > 0) 
     { 
     System.out.println("Not Valid"); 
     } 

    } 
} 
+0

は、Javaが構築の基本についての記事を読むまでその –

+1

などのダブルスを比較いけません。たとえば、if-else。また、あなたのコードは42 ... –

+1

のような正の数でも印刷され、if-elseロジックは間違っています...私が50を入力として与えた場合、この "valid"と "not valid"が印刷されます...それは有効かどうか? –

答えて

0

これを試してみてください。

if(t <= 100 && t > 0) 
{ 
    System.out.println("Valid"); 
} 
else 
{ 
    System.out.println("Not Valid"); 
} 
0

あなたは、2つの個別の条件があります。 -1を入力すると、t <= 100がtrueと評価されます。そのため、Validが印刷されます。

AND &&を使用して、両方の条件を同時に比較する必要があります。

それはこのような何か必要があります。

if(t>0 && t<=100) { 
    System.out.println("Valid"); 
} else { 
    System.out.println("Not Valid"); 
} 
1

そのような問題は、によって解決簡単ことができます...ちょうどあなたがあなた自身のプログラムに書いたものを丁寧に読んで!

意味:あなたは人間として、そのプログラムを "実行"します。そして、あなたが見つけます:

最初にあなたは100より小さいかどうかチェックします。 「有効」を印刷します。

その後、番号が0より大きいかどうかを確認します。 "Not Valid"を印刷します。

の範囲(0,100)にある数字が同時に有効で有効でないことに本当に驚いていますか?

だから、答えは次のとおりです。

  1. あなたはに有効および無効な番号の範囲を定義する必要があります。
  2. その後、ユーザーつまり

にその情報を印刷する場合は+他の使用:あなたもプログラミングを開始する前に、あなたは明らかにあなたの問題の「スコープ」を理解する必要があります。 「ソースコードを書くだけで」ルールが動作するとは限りません。 の前に、のコーディング規則を作成する必要があります。

そして、あなたは多分に終わる:

if (t >= 0 && t <= 100) { 
    System.out.println("Valid"); 
} else { 
    System.out.println("Not valid"); 
} 

それとも、全く違うもの。それはあなたが何であるかによって異なります本当に有効であるというルールは本当にあります!

0

あなたはその後、他のすべてが有効でないという、0と100が有効である間の値をテストしたいとしている。

if (t >= 0 && t <= 100) { 
    System.out.println("Valid"); 
} else { 
    System.out.println("Not valid"); 
}