输入一个字符串,如果输入的字符串是0~9中的单个数字,将这个数字转化

输入一个字符串,如果输入的字符串是0~9中的单个数字,将这个数字转化为int类型输出,否则输入有误。
这是一个Java的练习,我用的Integer.parseInt()进行的转换,可是只能输入数字才能正常运行,如果输入一个非数字的字符程序就会报错。我也不知道这个题到底是老师出错了还是自己技术不到家,但是string类型转成int类型输出的话不是只能输入数字进行转换的吗?怎么才能输入一个非数字的字符还能让程序不报错。

import java.util.Scanner;

public class StringNum {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("输入一个字符串:");
String str = sc.next();
try{
int x = Integer.parseInt(str);
System.out.println(x);
}catch(Exception e){//捕获异常
System.out.println("输入有误");
}
}

}

追问

使用了捕获异常后,是否如果我输入的数值大于int的范围,它也不会报错,反而运行输出“输入有误”

追答

无论啥异常都会输出输入有误

追问

好的!谢谢你

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-05-23
对于异常,可以捕捉的

~~~~~~~~~~~