Joh*_*ohn 1 java string equals while-loop logical-operators
这是代码.
do {
System.out.println("Enter Product Code: ");
medicine = machine1.nextInt();
if (medicine==1) {
machine1.buy1();
machine1.addproduct();
}
if (medicine==2); {
machine1.buy2();
machine1.addproduct();
}
} while((String answer=='y') || (String answer=='Y'));
Run Code Online (Sandbox Code Playgroud)
它给出了这个错误:
Run Code Online (Sandbox Code Playgroud)enter code drugstore1.java:96: error: ')' expected }while((String answer=='y'))||((String answer=='Y')); ^ drugstore1.java:96: error: ';' expected }while((String answer=='y'))||((String answer=='Y')); ^ drugstore1.java:96: error: ';' expected }while((String answer=='y'))||((String answer=='Y')); ^
在修复其他错误之后它就搞定了.我想我正在使用它..但是有什么问题?
我建议你写
while(answer.equalsIgnoreCase("y"));
Run Code Online (Sandbox Code Playgroud)
intead of
while((String answer=='y'))||((String answer=='Y'));
Run Code Online (Sandbox Code Playgroud)
您无法在逻辑条件中定义新变量.
1. String answer [X] -> answer [V]
2. answer=='y' [X] -> answer.equals("y") [V]
3. answer.equals("y") || answer.equals("Y") [V] -> answer.equalsIgnoreCase("y") [V]
4. if(medicine==2); [X] -> if (medicine == 2) [V]
Run Code Online (Sandbox Code Playgroud)