Java同时执行If和else语句
我用java编写了一个小控制台应用程序,它由If和else语句组成。 在输出端,执行两个正确的If和else语句。 如何修复?有什么问题吗Java同时执行If和else语句,java,Java,我用java编写了一个小控制台应用程序,它由If和else语句组成。 在输出端,执行两个正确的If和else语句。 如何修复?有什么问题吗 public static void main(String[] args) { Scanner in = new Scanner(System.in); System.out.println("Enter a first number"); int FirstNum = in.nextInt(); S
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.println("Enter a first number");
int FirstNum = in.nextInt();
System.out.println("Enter an Operator");
String Operator = in.next();
System.out.println("Enter a second number");
int SecondNum = in.nextInt();
try{
if(Operator.equals("+")){
System.out.println(FirstNum + SecondNum);
}
if (Operator.equals("-")){
System.out.println(FirstNum - SecondNum);
}
if (Operator.equals("*")){
System.out.println(FirstNum * SecondNum);
}
if (Operator.equals("/")) {
System.out.println(FirstNum / SecondNum);
}
else {
System.out.println("invalid Operator");
}
}
catch (Exception e){
System.out.println("Invalid Operator or number");
}
}
}
输出示例:
Enter a first number
1
Enter an Operator
+
Enter a second number
2
3
invalid Operator
Process finished with exit code 0
JDK:java15在编写这样的if语句时,您需要将它们与elseif链接在一起,基本上是一个else for every if和一个final else。发生的事情是你在说,如果这个。如果是这样的话。如果这个等等,它在测试最后一个if,因为它不是正斜杠,所以你进入了else 试试这个:
if(Operator.equals("+")){
System.out.println(FirstNum + SecondNum);
}
else if (Operator.equals("-")){
System.out.println(FirstNum - SecondNum);
}
else if (Operator.equals("*")){
System.out.println(FirstNum * SecondNum);
}
else if (Operator.equals("/")) {
System.out.println(FirstNum / SecondNum);
}
else {
System.out.println("invalid Operator");
}
在编写这样的if语句时,您需要将它们与else-if链接在一起,基本上是一个else-for-every-if和一个final-else。发生的事情是你在说,如果这个。如果是这样的话。如果这个等等,它在测试最后一个if,因为它不是正斜杠,所以你进入了else 试试这个:
if(Operator.equals("+")){
System.out.println(FirstNum + SecondNum);
}
else if (Operator.equals("-")){
System.out.println(FirstNum - SecondNum);
}
else if (Operator.equals("*")){
System.out.println(FirstNum * SecondNum);
}
else if (Operator.equals("/")) {
System.out.println(FirstNum / SecondNum);
}
else {
System.out.println("invalid Operator");
}
首先:不可能同时执行这两条语句 那么,发生了什么事?结构if/else仅为最后两行。也就是说:如果操作员不在,代码将执行elsestatement 您需要一个if/else if/else语句
if(Operator.equals("+")){
System.out.println(FirstNum + SecondNum);
}
else if (Operator.equals("-")){
System.out.println(FirstNum - SecondNum);
}
else if (Operator.equals("*")){
System.out.println(FirstNum * SecondNum);
}
else if (Operator.equals("/")) {
System.out.println(FirstNum / SecondNum);
}
else {
System.out.println("invalid Operator");
}
首先:不可能同时执行这两条语句 那么,发生了什么事?结构if/else仅为最后两行。也就是说:如果操作员不在,代码将执行elsestatement 您需要一个if/else if/else语句
if(Operator.equals("+")){
System.out.println(FirstNum + SecondNum);
}
else if (Operator.equals("-")){
System.out.println(FirstNum - SecondNum);
}
else if (Operator.equals("*")){
System.out.println(FirstNum * SecondNum);
}
else if (Operator.equals("/")) {
System.out.println(FirstNum / SecondNum);
}
else {
System.out.println("invalid Operator");
}
对于后续语句,应使用else if。如果你只是用If。。。如果如果else,则基本上每个if都是单独评估的,只有最终if else作为一个或另一个放在一起
try{
if(Operator.equals("+")){
System.out.println(FirstNum + SecondNum);
}
else if (Operator.equals("-")){
System.out.println(FirstNum - SecondNum);
}
else if (Operator.equals("*")){
System.out.println(FirstNum * SecondNum);
}
else if (Operator.equals("/")) {
System.out.println(FirstNum / SecondNum);
}
else {
System.out.println("invalid Operator");
}
}
catch (Exception e){
System.out.println("Invalid Operator or number");
}
对于后续语句,应使用else if。如果你只是用If。。。如果如果else,则基本上每个if都是单独评估的,只有最终if else作为一个或另一个放在一起
try{
if(Operator.equals("+")){
System.out.println(FirstNum + SecondNum);
}
else if (Operator.equals("-")){
System.out.println(FirstNum - SecondNum);
}
else if (Operator.equals("*")){
System.out.println(FirstNum * SecondNum);
}
else if (Operator.equals("/")) {
System.out.println(FirstNum / SecondNum);
}
else {
System.out.println("invalid Operator");
}
}
catch (Exception e){
System.out.println("Invalid Operator or number");
}
是的,谢谢你,还有所有回答的人。我是Java新手,以前从未遇到过类似的问题是的,谢谢,所有回答我的人。我是Java新手,在Java命名约定使用大写字母开始类名之前,我从未遇到过类似的问题;方法、参数和变量以小写字母secondNum开头;方法、参数和变量以小写字母secondNum开头。