在java里怎么判断输入的东西是不是数字和正整数?(请把详细的代码给我谢谢)

如题所述


String value = "-23423.333";//举例
用Double 解析判断是否为数字,如果抛出异常退出,正确接着解析是否为整数.
value.indexOf(".")>-1表示为小数/*哪怕像3.00这样的数同样是小数*/,==-1表示为整数。接着用value.indexOf("-")判断是否为负数。效率相对于解析成整数要高很多。
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-11-09
顶流星的代码,
try
{ //如果转换异常则输入的不是数字
num=Integer.parseInt(st);
if(num>0)
{
System.out.println("输入的是正整数") ;
}
break;
}
catch(Exception e)
{
System.out.println("只能输入整数") ;
}

关键是这个try...catch,在try中,如果 Integer.parseInt() 异常报错的话会直接跳到catch中。
第2个回答  2013-11-09
import java.io.BufferedReader;
import java.io.InputStreamReader;public class Number { public static void main(String[] args) { int num ;
String st ;

BufferedReader br=new BufferedReader(new InputStreamReader(System.in)) ;

while(true)
{
System.out.print("请输入数字:") ;

try
{
st=br.readLine(); //如果转换异常则输入的不是数字
num=Integer.parseInt(st);
if(num>0)
{
System.out.println("输入的是正整数") ;
}
break;
}
catch(Exception e)
{
System.out.println("只能输入整数") ;
}
}
} }
相似回答