我做了个简单的键盘输入整数的加减法,但是出了点小毛病,就是如果输入正确的值,没问题,如:D:\Java>javaaaa请输入第一个数字7请输入第二个数字47+4=11但是如果我第一次输入了错误的...
我做了个简单的键盘输入整数的加减法,但是出了点小毛病,就是如果输入正确的值,没问题,如:
D:\Java>java aaa
请输入第一个数字
7
请输入第二个数字
4
7+4=11
但是如果我第一次输入了错误的值,比如一个字符之后再输入正确的,结果就不对了,比如:
D:\Java>java aaa
请输入第一个数字
4
请输入第二个数字
ds
请输入一个整数!
请输入第二个数字
4
4+0=4
D:\Java>java aaa
请输入第一个数字
a
请输入一个整数!
请输入第一个数字
3
请输入第二个数字
4
0+4=4
我输入的数字会自动变成0,请教原因,谢谢
程序如下:第一个JAVA文件
import java.io.*;
class MuLei{
private BufferedReader br=null;
public MuLei(){
br=new BufferedReader(new InputStreamReader(System.in));
}
public int fun(String str){
System.out.println(str);
int a=0;
try{
a=Integer.parseInt(br.readLine());
}catch(Exception e){
System.out.println("请输入一个整数!");
fun(str);
}
return a;
}
public void add(int a,int b){
System.out.printf("%s+%s=%s",a,b,(a+b));
}
}
第二个JAVA文件:
import java.io.*;
public class aaa{
public static void main(String args[]){
MuLei ml=new MuLei();
int a=ml.fun("请输入第一个数字");
int b=ml.fun("请输入第二个数字");
ml.add(a,b);
}
}
展开