以下のコードでエラーが発生しました...
elseif(option.equals("S")||option.equals("s")) // Error Expected Symbol ;
{
ScientificCalculator sc=new ScientificCalculator();
sc.Calc();
}
elseif thn の後にセミコロンを置くと、else if ステートメントは実行されません。
以下のコードでエラーが発生しました...
elseif(option.equals("S")||option.equals("s")) // Error Expected Symbol ;
{
ScientificCalculator sc=new ScientificCalculator();
sc.Calc();
}
elseif thn の後にセミコロンを置くと、else if ステートメントは実行されません。
elseif の間にスペースを入れる必要があり、文字列比較には equalsIgnoreCase を使用して大文字と小文字を区別できます
else if(option.equalsIgnoreCase("S"))
{
ScientificCalculator sc=new ScientificCalculator();
sc.Calc();
}
他に試してみてください。また、or(||) を記述する代わりに、文字列クラスの equalsIgnorecase メソッドを使用してみてください。or を使用して間違ったコードを書いていると言っているわけではありませんが、 equalsIgnorecase を使用すると余分なチェックが回避され、コードの読みやすさも向上します
else if(option.equalsIgnoreCase("S"))
{
ScientificCalculator sc=new ScientificCalculator();
sc.Calc();
}
Java は を知りません。elseif
必要else if
です。
コードは次のように短縮することもできます。
else if(option.equalsIgnoreCase("S")) {
// do stuff
}
else
2 つのキーワードとの間にスペースがありませんif
。
else if(option.equals("S")||option.equals("s")) { /// rest to follow
else if
ではなく、を使用する必要がありますelseif
。
else if(option.equals("S")||option.equals("s"))
{
ScientificCalculator sc=new ScientificCalculator();
sc.Calc();
}
Java を使用しelse if
ます。
elseif は間違った構文です。
elseif thn の後にセミコロンを置くと、else if ステートメントは実行されません。
はい、これは予想される動作です。そして、一度デバッグしなければならなかったことを決して忘れないよくある間違い。
if(someCondition); //BAD BAD BAD
//an empty code block is run when someCondition is true -- not very useful
{...instructions...} //these are run regardless of someCondition
また、これらはよくある間違いです。
for(int i=0;i<1000;i++); //BAD BAD BAD!
{ ... instructions ... } //this is only run once, regardless of i.
//Actually i is out of context here, so compiler will point it out...
int i=0;
while(i<1000); //BAD BAD BAD!
{...instructions...} //never run, as the while loop (thanks jlordo) runs infinitely
//i is valid, and has the value of 1 - so compiler will be quiet...
次のようなものはありません。
if {} elseif{}
が存在します:
if
{}
else
{
if //Independent if
{}
}
一方、Java ではこれを次のように記述できます。
if{}
else if{}