首页 热点资讯 义务教育 高等教育 出国留学 考研考公

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

发布网友 发布时间:2022-04-26 00:21

我来回答

3个回答

热心网友 时间:2023-10-24 05:51


String value = "-23423.333";//举例
用Double 解析判断是否为数字,如果抛出异常退出,正确接着解析是否为整数.
value.indexOf(".")>-1表示为小数/*哪怕像3.00这样的数同样是小数*/,==-1表示为整数。接着用value.indexOf("-")判断是否为负数。效率相对于解析成整数要高很多。

热心网友 时间:2023-10-24 05:52

顶流星的代码,
try
{ //如果转换异常则输入的不是数字
num=Integer.parseInt(st);
if(num>0)
{
System.out.println("输入的是正整数") ;
}
break;
}
catch(Exception e)
{
System.out.println("只能输入整数") ;
}

关键是这个try...catch,在try中,如果 Integer.parseInt() 异常报错的话会直接跳到catch中。

热心网友 时间:2023-10-24 05:52

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("只能输入整数") ;
}
}
} }

热心网友 时间:2023-10-24 05:51


String value = "-23423.333";//举例
用Double 解析判断是否为数字,如果抛出异常退出,正确接着解析是否为整数.
value.indexOf(".")>-1表示为小数/*哪怕像3.00这样的数同样是小数*/,==-1表示为整数。接着用value.indexOf("-")判断是否为负数。效率相对于解析成整数要高很多。

热心网友 时间:2023-10-24 05:52

顶流星的代码,
try
{ //如果转换异常则输入的不是数字
num=Integer.parseInt(st);
if(num>0)
{
System.out.println("输入的是正整数") ;
}
break;
}
catch(Exception e)
{
System.out.println("只能输入整数") ;
}

关键是这个try...catch,在try中,如果 Integer.parseInt() 异常报错的话会直接跳到catch中。

热心网友 时间:2023-10-24 05:52

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("只能输入整数") ;
}
}
} }

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com