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位数的?
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也报错让重新输入的主要内容,如果未能解决你的问题,请参考以下文章