java中怎么判断输入的数据是int型还是string型,请指点下面的勘误,谢谢

case2:{Scannerscn=newScanner(System.in);System.out.println("Enteryourpositivebinaryva... case 2 :
{
Scanner scn= new Scanner(System.in);
System.out.println("Enter your positive binary value> ");
String input=scn.next();

char B = 0;
for (int i = 0; i < input.length()-1; i++)
{

B= input.charAt(i);
}
System.out.println(B);
if (B== 0 || B== 1)
{

int x=Integer.parseInt(input);
int value = 0;
int position =input.length()-1;
int power=1;
for(int j=0;j<=position;j++)
{
int y = x%10;
value= value+(int) (y*Math.pow(2,j));
x=x/10;
}
System.out.println("The equivalent integer value is: "+value);
}

else
{
System.out.println("ERROR! Binary numbers can only contain 0's and 1's.");

}

}
break;
展开
 我来答
百度网友194c36b
推荐于2017-11-26 · 超过15用户采纳过TA的回答
知道答主
回答量:52
采纳率:0%
帮助的人:21.4万
展开全部
你好,此问题可以借助于java正则表达式特性解决。首先使用Scanner实例对象获取下一个字符串,暂时假设保存在String inputStr。int型的正则表达式可使用下述字符串表示:
String regStr = "^[+-]?[1-9][0-9]*$|^0$";
可用下述if语句实现整数的判断:
if(inputStr.match(regStr)){
System.out.println("整数");
}else{
System.out.println("非整数");
}
最后,诚望学有所成!
丁文博0721
2013-09-15 · TA获得超过263个赞
知道答主
回答量:159
采纳率:0%
帮助的人:169万
展开全部
你好,可以通过Scan 对象的nextInt()获得输入的整数,也可以用nextLine()获得字符串,然后再try catch 中转换为整数,如果转换成功说明输入的是整数,否则不是,可以循环检测。而你写的这个程序下面的
for (int i = 0; i < input.length()-1; i++)
{
B= input.charAt(i);
}
,你是想获得最后一个数吗?,直接 i < input.length(),就行了,不过还是建议你用nextLine,然后用Integer.parseInt(String str),转换。
追问
谢谢,还有      if (B== 0 || B== 1)怎么写,需要将用户输入的二进制数剔除出来,不进入运算,语句怎么写吖?
追答
你应该是把二进制转换为十进制,那就应该判断输入的每一个字符都是0或者是1,用正则表达式比较方便,是Regex类,它有几个方法可以判断输入的数是不是合法的类型。也可以用循环的方式判断每个字符是不是0,1,如果合法的话,不用先把它转换为Integer类型,因为二进制的长度一般会超过int的范围的,你可以先从最高位取一个字符,根据所在位置计算出代表的int数,然后向下循环计算,把所有结果加在一起就行了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
niulanghan
2013-09-16 · TA获得超过1046个赞
知道小有建树答主
回答量:886
采纳率:100%
帮助的人:124万
展开全部
使用正则表达式
String rex="^\\d+$";
if(input.matches(res)){
//是int

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式