我在以下代码中遇到错误...
elseif(option.equals("S")||option.equals("s")) // Error Expected Symbol ;
{
ScientificCalculator sc=new ScientificCalculator();
sc.Calc();
}
如果我在其他地方输入分号,如果声明我做什么
答案 0 :(得分:4)
你需要在elseif之间放置空格并进行字符串比较,你可以使用equalsIgnoreCase来忽略大小写
else if(option.equalsIgnoreCase("S"))
{
ScientificCalculator sc=new ScientificCalculator();
sc.Calc();
}
答案 1 :(得分:2)
Java不知道elseif
,您需要else if
。
您的代码也可以缩短为:
else if(option.equalsIgnoreCase("S")) {
// do stuff
}
答案 2 :(得分:2)
尝试使用if而不是写或(||)尝试使用字符串类的equalsIgnorecase方法。所以重写你的代码如下。我不是说你使用或编写错误的代码,但是使用equalsIgnorecase会阻止额外的检查,它也会提高代码的可重用性
else if(option.equalsIgnoreCase("S"))
{
ScientificCalculator sc=new ScientificCalculator();
sc.Calc();
}
答案 3 :(得分:1)
您在两个关键字else
和if
之间错过了一个空格。
else if(option.equals("S")||option.equals("s")) { /// rest to follow
答案 4 :(得分:1)
您需要使用else if
,而不是elseif
。
else if(option.equals("S")||option.equals("s"))
{
ScientificCalculator sc=new ScientificCalculator();
sc.Calc();
}
答案 5 :(得分:1)
Java使用else if
。
elseif语法错误。
答案 6 :(得分:0)
如果我在其他地方输入分号,如果声明我做什么
是的,这是预期的行为!并且一个常见错误永远不会忘记曾经调试过一次。
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...
答案 7 :(得分:0)
没有这样的事情:
if {} elseif{}
存在:
if
{}
else
{
if //Independent if
{}
}
而Java让你把它写成:
if{}
else if{}