永发信息网

java se 怎么用try-catch判断输入是不是整数?

答案:2  悬赏:50  手机版
解决时间 2021-02-25 10:47
  • 提问者网友:鐵馬踏冰河
  • 2021-02-24 15:05
java se 怎么用try-catch判断输入是不是整数?
最佳答案
  • 五星知识达人网友:十鸦
  • 2021-02-24 16:13
String str = *****; //这里获取你的输入
int num;
boolean isNum = false;
try {
num = Integer.parseInt(str);
isNum = true;
catch (Exception e) {
}
if (isNum) {
System.out.println("是数字,值为="+num);
} else {
System.out.println("不是数字,值为="+str);
}追问一开始就定义一个 int [] ,用 int [] 储存输入,然后怎么判断每次输入是不是一个整数?追答import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;

public class TestInputNum {

public static void main(String[] args) throws IOException {

int[] nums = new int[10];
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
for (int i = 0; i < 10; i++) {
String str = br.readLine();
try {
nums[i] = Integer.parseInt(str);
} catch (NumberFormatException e) {
nums[i] = -1;
}
}
br.close();
System.out.println(Arrays.toString(nums));
}
}

测试:
1
2
3
4
5
6
7
8
9
a
[1, 2, 3, 4, 5, 6, 7, 8, 9, -1]
每个数据后面按个回车,结果中的-1说明这个位置输入的不是整数,当然默认值你可以随意设。
全部回答
  • 1楼网友:封刀令
  • 2021-02-24 17:44
假设传入的数字是String类型的
String number = "50";
try {
int num = Integer.praseInt(number);
System.out.print("这是一个整数。");
} catch (Exception e) {
System.out.print("这不是一个整数");
}追问一开始就定义一个 int [] ,用 int [] 储存输入,然后怎么判断每次输入是不是一个整数?追答我想你说的int[] 参数应该是方法传入参数吧(或action全局变量)
既然你用int[]作为接受对象的类型,那一般情况下,只要传入过来了就不会出现不是整数的情况(string、date传输不过来,null值时,接受为0)。

特殊情况就是页面通过url参数,或者form提交时传输了不是int类型的值,这个时候也是传输不过来的,如果真的要判断,应该是页面判断了。
如果你的方法是提供接口的,那么在调用端也是不允许调用你的方法的(会出现显示错误),
换句话说,类型不对的时候是进入不到你的方法中的。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯