java如何判断输入的是数字还是字母

代码如下importjava.util.Scanner;publicclassnomb{publicstaticvoidmain(String[]args){System... 代码如下
import java.util.Scanner;
public class nomb {

public static void main(String[] args) {
System.out.print("please input the number:");
Scanner in=new Scanner(System.in);
int a=in.nextInt();
if (a>0)
System.out.print(a+"是一个正数。");
else
{if (a==0)
System.out.print("您输入的数字是零。");
else

System.out.print(a+"是一个负数。");

}

}

}
如果是如的是字母总是提示
Exception in thread "main" java.util.InputMismatchException
at java.util.Scanner.throwFor(Scanner.java:840)
at java.util.Scanner.next(Scanner.java:1461)
at java.util.Scanner.nextInt(Scanner.java:2091)
at java.util.Scanner.nextInt(Scanner.java:2050)
at nomb.main(nomb.java:11)
想知道怎样才能输入字母输出“input error”
展开
 我来答
swz887799
推荐于2017-10-05 · 超过24用户采纳过TA的回答
知道答主
回答量:106
采纳率:0%
帮助的人:66.1万
展开全部
还有可能输入其他特殊符号 如果你只需输入数字,捕获异常时最方便的了。
附代码:
import java.util.Scanner;
public class nomb {

public static void main(String[] args) {
System.out.print("please input the number:");
int a;
Scanner in=new Scanner(System.in);
try{
a=in.nextInt();
}catch(Exception e){
System.out.println("input error");
return;
}

if (a>0)
System.out.print(a+"是一个正数。");
else
{if (a==0)
System.out.print("您输入的数字是零。");
else

System.out.print(a+"是一个负数。");

}

}
}
tongchengpp
2011-10-14 · TA获得超过313个赞
知道答主
回答量:107
采纳率:0%
帮助的人:100万
展开全部
java.util.InputMismatchException 输入类型不匹配

Scanner in=new Scanner(System.in);
int a=in.nextInt(); //读取一个整形,你输入字母而不是数字就会出现输入类型不匹配

怎样才能输入字母输出“input error”?

public static void main(String[] args) {
System.out.print("please input the number:");
try{
Scanner in=new Scanner(System.in);
int a=in.nextInt();
if (a>0)
System.out.print(a+"是一个正数。");
else
{if (a==0)
System.out.print("您输入的数字是零。");
else

System.out.print(a+"是一个负数。");

}
}catch(InputMismatchException e){
System.out.println("input error");
}

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
mingtjlg
2011-10-14 · TA获得超过465个赞
知道答主
回答量:122
采纳率:0%
帮助的人:117万
展开全部
问题在 这句:int a=in.nextInt(); 如果输入了非整数如String、Char、double,程序会跳出并报错。就是你后面贴的报错提示。
想知道怎样才能输入字母输出“input error”,用try-catch捕捉错误,catch (InputMismatchException e){
System.out.print("input error");
System.exit(-1);//出错了终止程序
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
完美的MISS
2011-10-14
知道答主
回答量:33
采纳率:0%
帮助的人:14.5万
展开全部
输入是字母的话不能用in.nextInt();啦,应该用in.next();
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
shaochangxing1
2011-10-14 · TA获得超过471个赞
知道小有建树答主
回答量:261
采纳率:0%
帮助的人:161万
展开全部
try{
int a=in.nextInt();
}catch(Exception e){
System.out.println("input error");
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式