黑马程序员技术交流社区
标题:
Java中如何判断用户输入的是否为数字
[打印本页]
作者:
党传才
时间:
2012-4-13 00:12
标题:
Java中如何判断用户输入的是否为数字
本人新手一枚,做个东西。遇到个问题。代码如下:
System.out.print("请输入您的帐户:" + "\t");
// 获得用户输入的帐号
int userName = scan.next();
System.out.println("请输入您的密码:" + "\t");
// 获得用户输入的密码
String userPwd = scan.next();
如何写个if判断userName是否为数字。另外,如果userName在声明时是个String型又该如何判断。
知道的高手请说一下啊。请不舍赐教,万分感谢~~~~~
作者:
郑苑东
时间:
2012-4-13 07:58
有两个。。一个对字符进行判断。。看看是不是都是数字。。另一个就是看能不能强转为Integer类型。。可以强转就是。。。
作者:
李彬彬
时间:
2012-4-13 09:25
如果你用的是scanner类的话, 你首先要看看这个类中方法的返回类型。
首先你编译代码时出错了
int userName = scan.next(); 这行代码你是定义的int类型,但是next()返回的是String类型。应该改为scan.nextInt(); 这样就不需要你用if判断了,因为在程序运行时,如果你输入字符的话,会直接报错java.util.InputMismatchException 输入类型不一致。
如果你声明String类型的话,可以用异常来捕获类型转换,
代码如下:
try{
int num = Intger.parseInt(userName);
}catch(NumberFormatException e){
System.out.println("不是数字");
}
作者:
黑马-刘昌文
时间:
2012-4-13 10:43
好像记得有个instanceof()用于判断是不是它的类货子类的实例,也可以用Integer的paseInt()看能不能对数据进行转换,你自己去试哈看吧!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2