2017-08-14 7 views
0

次のコードで 'if'エラーが表示されずに 'else'を取得しましたが、その理由はわかりません。私は中括弧とすべてを使用しているので、私は本当に混乱しています。中括弧の使用にもかかわらず 'if'を除いた 'else'

 if(mean >= 90 && mean <= 100){ 
      grade = 'O';} 

     else{ 
      if(mean >= 80 && mean < 90) 
      grade = 'E';} 

     else{ 
      if(mean >= 70 && mean < 80) 
      grade = 'A';} 

     else{ 
      if(mean >= 55 && mean < 70) 
      grade = 'P';} 

     else{ 
      if(mean >= 40 && mean < 55) 
      grade = 'D';} 

     else{ 
      if(mean < 40) 
      grade = 'T';} 
+2

あなたは一つだけ 'それ以外を持つことができます'if'である。 – litelite

+0

基本的に 'else {if(...)'}は 'else if(...){...'と同じではありません。 –

答えて

2

私はあなたが、Javaでのif-else文のための右の構造を使用していないと思います。あなたはさらにに関する情報のために、このリンクをチェックアウト行くことができます

if (testscore >= 90) { 
    grade = 'A'; 
} else if (testscore >= 80) { 
    grade = 'B'; 
} else if (testscore >= 70) { 
    grade = 'C'; 
} else if (testscore >= 60) { 
    grade = 'D'; 
} else { 
    grade = 'F'; 
} 

:それは次のようにする必要がありますif文を書くための2通りの方法がhttps://docs.oracle.com/javase/tutorial/java/nutsandbolts/if.html

1

あなたは中かっこを間違った場所に置きます。コードを書式設定すると、構文エラーをより簡単に見つけやすくなります。

if (mean >= 90 && mean <= 100) { 
    grade = 'O'; 
} else if (mean >= 80 && mean < 90) { 
    grade = 'E'; 
} else if (mean >= 70 && mean < 80) { 
    grade = 'A'; 
} 
//.... the rest of your statement 
0

あなたは一度だけifあたりelseを使用することができます。あなたのこの問題については、else ifを試してみてください。

1

if/elseステートメントを誤解しています。追加の条件を比較しようとしている場合は、以下のように "else if"を使用する必要があります。

if(mean >= 90 && mean <= 100){ 
      grade = 'O'; 
     } else if (mean >= 80 && mean < 90) { 
      grade = 'E'; 
     } else if(mean >= 70 && mean < 80) { 
      grade = 'A'; 
     } else if(mean >= 55 && mean < 70){ 
      grade = 'P'; 
     } else if(mean >= 40 && mean < 55){ 
      grade = 'D'; 
     } else if(mean < 40) { 
      grade = 'T';  
     } 
0

あなたの中括弧は早すぎる、彼らは次のようになりますされています

if(mean >= 90 && mean <= 100){ 
     grade = 'O'; 
    } else if(mean >= 80 && mean < 90){ 
     grade = 'E'; 
    } else if(mean >= 70 && mean < 80){ 
     grade = 'A'; 
    } else if(mean >= 55 && mean < 70){ 
     grade = 'P'; 
    } else if(mean >= 40 && mean < 55){ 
     grade = 'D'; 
    } else if(mean < 40){ 
     grade = 'T'; 
    } 
1

があり、この場合には、あなたが一緒に2を混合しています。

他丁度1であればあなたがそうのように、持つことができます。

if(x == 1) { 
    System.out.println("one"); 
} else { 
    System.out.println("two"); 
} 

さもないと、もし複数のステートメントであれば、あなたがいずれかを使用できます。

if(x == 1) { 
    System.out.println("one"); 
} else if(x == 2) { 
    System.out.println("two"); 
} else if(x == 3) { 
    System.out.println("three"); 
} 
関連する問題