黑马程序员技术交流社区
标题:
这个应该怎么改啊?
[打印本页]
作者:
黄坚声
时间:
2012-5-11 11:26
标题:
这个应该怎么改啊?
用next();接收的都是字符串啊
//让用户在控制台输入的只能是数字类型的,其他的都不通过。
public static void function(){
Scanner sc=new Scanner(System.in);
System.out.println("please print a unmber!");
Object x=null;
try{
do{
x=sc.next();
//System.out.println(Class.forName("java.lang.Integer").isInstance(x));
if(!Class.forName("java.lang.Integer").isInstance(x))
System.out.println("请输入匹配数字!");
}while (!Class.forName("java.lang.Integer").isInstance(x));
}catch(Exception e){
e.printStackTrace();
}
这个应该怎么改啊?
作者:
李啸
时间:
2012-5-11 11:42
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("please print a unmber!");
System.out.println("请输入");
try {
int oo=sc.nextInt();
} catch (Exception e) {
System.out.println("请输入一个数字");
}
}
作者:
小小企鹅
时间:
2012-5-11 11:57
int num=sc.nextInt();
作者:
杨鹏
时间:
2012-5-11 12:28
也可以这样将接收过来的数据转换为Integer对象,通过Integer中parseInt将输入的信息转换成Integer对象,如果出现异常则在捕获异常处理时提示请输入数字。如下:
try {
x=sc.next();
} catch (Exception e) {
throw new RuntimeException("请输入数字。");
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2