java if语句嵌套if语句

2025-03-24 01:35:02
推荐回答(4个)
回答1:

import java.util.Scanner;
public class jsq {
//我想写一个计算器,if这样嵌套报错,在c里就可以。我刚学Java,该怎么改?

public static void main(String[] args)
{Scanner s=new Scanner(System.in);
Scanner sz=new Scanner(System.in);
Scanner o=new Scanner(System.in);
int q,w,e = 0;
char p;
System.out.println("请输入两个数字后输入运算符号");
q=s.nextInt();

w=sz.nextInt();

String p1=o.next();

if (p1.equals("+")){
e=q+w;
System.out.println("结果是:"+e);
}
else if(p1.equals("-")){
e=q-w;
System.out.println("结果是:"+e);
}
else if(p1.equals("/")){
e=q/w;
System.out.println("结果是:"+e);
}
else if(p1.equals("*")){
e=q*w;
System.out.println("结果是:"+e);
}

{
}
}

}
//从控制台读入 不能读取char类型的字符可以用String类型 在用equals()函数来比较两个字符
//串的是否相等

回答2:

楼上正解。如果不加括号,if else等只对它后面紧跟的一行代码有作用,如果需要对多行起作用,需要用括号包起来,作为一个程序块

回答3:

你忘记加括号了额。
if (p=='+'){
e=q+w;
System.out.println("结果是:"+e);
}
else if(p=='-'){
e=q-w;
System.out.println("结果是:"+e);
}
else if(p=='/'){
e=q/w;
System.out.println("结果是:"+e);
}
else if(p=='*'){
e=q*w;
System.out.println("结果是:"+e);
}
希望有所帮助。

回答4:

C 里也不可能对的,if 后面不加大括号只包含后面的一句语句,else 后面也一样。
因此第一个错误就是大括号都没加。
其次你不需要 3 个 Scanner 对象,只需要一个就可以了。