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()函数来比较两个字符
//串的是否相等
楼上正解。如果不加括号,if 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);
}
else if(p=='*'){
e=q*w;
System.out.println("结果是:"+e);
}
希望有所帮助。
C 里也不可能对的,if 后面不加大括号只包含后面的一句语句,else 后面也一样。
因此第一个错误就是大括号都没加。
其次你不需要 3 个 Scanner 对象,只需要一个就可以了。