我使用Java的时间很短,所以请耐心等待。我正在为Java类的INTRODUCTION编写一个程序,我必须在不使用异常的情况下创建一个简单的计算器(没有GUI),但它仍然会捕获输入错误。我能够毫无问题地完成异常处理程序,但这一次让我抓狂!!我需要一个替代语句"if(a==char||b==char)"的方法
import java.util.*;
public class calculator_No_Event {
public static void main(String[] args)
{
// TODO Auto-generated method stub
int a,b,c;
char d;
boolean e;
Scanner input=new Scanner(System.in);
try
{
System.out.print(" Enter the first number: ");
a=input.nextInt();
System.out.print("Enter the second number: ");
b=input.nextInt();
System.out.print("Enter + or - :");
String f=input.next();
d=f.charAt(0);
if (a==char || b==char)
{
System.out.println("Error");
}
else
{
switch(d)
{
case '+':
c =a+b;
System.out.print(a + "+" + b + "=" + c);
break;
case '-':
c =a-b;
System.out.print(a + "-" + b + "=" + c);
break;
}
}
}
finally
{
System.out.println("Thank you.");
}
}
}
您应该先调用Scanner.hasNextInt()
,然后再调用Scanner.nextInt()
。与CCD_ 3和CCD_。
您对这一行有很多误解
if (a = char || b = char)
我想你的意思是使用
equal to
运算符,而不是assignment
运算符== instead of =
a
和b
(和c
)是int
s,如main
中所声明的。所以我们知道它们永远不会是char
s,除非你把它们转换成字符——但它们永远都是字符。int
和char
是不同的类型,1
字符可以是任意一种类型,所以按原样操作是行不通的。在谷歌上搜索,检查字符串是否为数字,返回确定Java中的字符串是否为整数。然而,在这种情况下,@ElliotRisch的答案可能是您想要使用的方法。每当您使用新的Java类(如Scanner)时,学习查看文档是非常有价值的,可以更好地理解和了解您正在使用的类。