2016-09-15 21 views
-1

私は次のような割り当てを持っています:Java入力、スキャナ、if文

ExamResultという完全なプログラムを以下のように記述します。 生徒の内部テストスコアと最終テストスコアのユーザー入力を読み込みます。

内部テストのスコアが20未満の場合、生徒は失敗します。最終的なスコアが40未満の も、生徒の失敗につながります。

それ以外の場合、生徒は合格しています。

セメスター試験の結果!

あなたの内部テストの得点は? 21

あなたの最終試験のスコアは何ですか? 69

あなたは合格しました!

これまでは、入力用のスキャナでif文を使用するのが適切であることを理解しました。今これは私ががわからないんだ何私のコード(私はここでそれを含めるしないことを選択した。上記のクラスは、インポートのjava utilのメインMethodeのを持っている)

System.out.println("Semester Examination Results!"); 

    System.out.println("What is your internal test score?"); 

    //input 
    //calculate input 
    //does input pass the if test? 
    //output passed/failed 

    int score1 = scanner.nextLine(); 
    int score2 = scanner.nextLine(); 

    if (int score1 < 20; || score2 < 40;) 
    { 
    System.out.println("You have failed"); 
    } 
    else 
    { 
    System.out.println("You have passed"); 
    } 

であるために は、計算のための入力を使用する方法ですか?

+2

'(int score1 <20; || score2 <40;)'がうまく終了しない場合。 ';' sと 'int'を削除してください。 – Bathsheba

+0

初心者向けのJavaチュートリアルを読んで、Stack Overflowで質問を投稿することを強くお勧めします。 – TheLostMind

+0

私は何度も本を読んでいて、研究しようとしています。それはまったく新しいものなので、私は容易に混乱します:P –

答えて

2

nextLine()の代わりにscanner.nextInt()を使用します。また、if文の中にセミコロンは必要ありません。

Edit1

if文でscore1と2を再初期化する必要はありません。これらは任意のステートメントではありませんなどの条件から;を削除この

Scanner scanner = new Scanner(System.in); 
//init and read in values here 
if(score1 < 20 || score2 < 40){ 
    //do stuff 
} 
else{ 
    //do other stuff 
} 
+0

エラー:シンボルを見つけることができません int score2 = scanner.nextInt(); スキャナのシンボルが見つかりません。どうすればよいですか? –

+0

@TinaDitte - あなたは 'Scanner'を宣言/初期化していません。' int score1'の前に 'Scanner sc = new Scanner(System.in);を追加してください。 – TheLostMind

+0

これを反映するために私の答えを更新しました。 –

1
  • のように見えるahould。 intも削除してください。また、

    if (score1 < 20 || score2 < 40) 
    
  • 整数入力を取るためnextInt()又はInteger.parseInt(scanner.nextLine())を使用:

    if (int score1 < 20; || score2 < 40;) 
    

    があるべきです。

関連する問題