java 如何判断输入的数是不是是整数并且,不是整数则报错让重新输入,是整数但是大于3也报错让重新输入

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 如何判断输入的数是不是是整数并且,不是整数则报错让重新输入,是整数但是大于3也报错让重新输入相关的知识,希望对你有一定的参考价值。

要求用switch判断输入的数是多少,求帮助

参考技术A 使用Scanner类读取整数输入,对非整数输入,使用try catch捕获异常再重新输入。

java如何判断数字的位数?

判断一个数(小于10位)的位数。 输入999,则输出 “它是个3位的数!”

就是System.out.println("它是个"+ count+"位的数!"); 这句看不懂
按照num/10 语句,不是应该显示 它是个99位数吗?
为什么 显示它是个3位数?
java是如何判断为3位数的?

pupublic class HelloWorld
public static void main(String[] args)
int num = 999; //整型 去小数点
int count = 0; //整型 去小数点
if (num >= 0 && num<=999999999) //定位小于10位数
while(num != 0) //判断num不等于0 继续循环
count++; //num不等于0 count加1
num/=10; /* num=num/10 第一次循环 99.9 取整 99 继续循环 直到0.99取整 等于0 停止循环 */

System.out.println("它是个"+ count+"位的数!");
else
System.out.println("输入有误!");

按照num/10 语句,不是应该显示 它是个99位数吗?java是如何判断为3位数的?

答 999/10 = 99 ;       此时num = 99  count=1;
    99/10=9;           此时num = 9  count=2;
    9/10=0;            此时num = 0  count=3;
    一共在while循环里执行了三次, 所以判断是3位数

提示

System.out.println("它是个"+ count+"位的数!"); 
这里输出的是count 这个变量,表达的是次数,
不是输出num 这个数,此时num经过循环已经等于0了

参考技术A 不是这样的,因为num是int型的除以10后强转int小数点会自动丢失,所以int a=999/10=99
while条件里直到num是0才终止,再此之前都是a/10,然后count自加,一共执行了3次,最终count值为3,打印的时候得出是3位数。

其实还有一种更简单的方法int a=999; String test=a+""; System.out.println("它是个"+ test.length()+"位的数!"); 只要3行代码

以上是关于java 如何判断输入的数是不是是整数并且,不是整数则报错让重新输入,是整数但是大于3也报错让重新输入的主要内容,如果未能解决你的问题,请参考以下文章

java如何判断数字的位数?

用c语言判断两个整数集间的集合关系

C语言中如何判断整数是不是为平方数

如何判断一个正整数是不是2的整数次幂

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

java通过键盘输入任一个整数,判断其是不是是素数,并输出判断结果。