所以我只是在玩一些我学过的东西,制作一些毫无意义的计算器。在有人说之前,我知道这可以更简单地完成!
我在我的while语句中遇到这个错误(二元运算符'||'的第一个类型的错误操作数类型:int,second type:boolean“)
它也引发了
的问题int AA = A + B;
int AB = A * B;
int AC = A / B;
说不能找到符号。
class cases{ //1-4 sums with cases, delete after//
public static void main(String args[]){
System.out.println("Welcome to a pointless calculator.");
int A = Integer.parseInt(args[0]);
int B = Integer.parseInt(args[1]);
switch (A){
case 1:
System.out.print("You entered 1");
break;
case 2:
System.out.print("You entered 2");
break;
case 3:
System.out.print("You entered 3");
break;
case 4:
System.out.print("You entered 4");
}
while ( A || B > 4){
System.out.print("please enter numbers 1-4");
break;
}
switch (B) {
case 1:
System.out.println(" and 1");
break;
case 2:
System.out.println(" and 2");
break;
case 3:
System.out.println(" and 3");
break;
case 4:
System.out.println(" and 4");
}
}
{
int AA = A + B;
int AB = A * B;
int AC = A / B;
System.out.print("the answers added = ");
System.out.println(AA);
System.out.print("the answers multipled = ");
System.out.println(AB);
System.out.print("the answers divided = ");
System.out.println(AC);
}
}
答案 0 :(得分:3)
问题在于:
while ( A || B > 4){
这个表达方式如下:
while (
A
||
B > 4
){
A
的类型为int
,但您将其视为boolean
。你不能用Java做到这一点。你可能意味着:
while ( A > 4 || B > 4){
代码中可能还有其他问题。例如,您的代码末尾没有与任何内容相关联的块。我认为在Java中最终成为一个实例初始化程序块,但坦率地说,我认为你需要退一步并完成一些教程。
答案 1 :(得分:2)
while
内的条件表达式需要解析为boolean
。 ||
运算符的两个操作数需要求值为boolean
。请参阅here。
这个
while ( A || B > 4){
在语法上不正确。
此时还在代码中
...
}
{
int AA = A + B;
int AB = A * B;
int AC = A / B;
System.out.print("the answers added = ");
System.out.println(AA);
System.out.print("the answers multipled = ");
System.out.println(AB);
System.out.print("the answers divided = ");
System.out.println(AC);
}
}
您正在关闭main
方法块并启动实例初始化程序。此时A
和B
已不在范围内。
如果您适当地缩进括号,您将看到块的结束位置。