慕勒9944832
2020-10-28 11:02
public class HelloWorld{
public static void main(String[] args){
int num = 9999;
int count = 0;
if(num>=0&&num<=999999999){
while(num!=0){
count++;
num/=10;
}
System.out.println("它是个"+count+"位的数!");
}else{
System.out.println("输入有误!");
}
}
}
int num = 9999;
int count = 0;
if(num>=0&&num<=999999999){
while(num!=0){
count++;
num/=10;
}
System.out.println("它是个"+count+"位的数!");
}else{
System.out.println("输入有误!");
}
while第一次判断条件成立,执行:count 变成1了 num变成999.9了
while第二次判断条件成立,执行:count变成 2了 num变成99.9了
while第三次判断条件成立,执行:count变成3了 num变成 9.9了
while第四次判断条件成立,执行:count变成4了 num变成 0.9,因为是int变量类型(整数),所以num变成了0
while第五次判断条件不成立,结束while循环,进入System
while第一次判断条件成立,执行:count 变成1了 num变成10了
while第二次判断条件成立,执行:count变成 2了 num变成1了
while第三次判断条件成立,执行:count变成3了 num变成 0.1,因为是int变量类型,所以num变成了0
while第四次判断条件不成立,结束while循环,进入System
说错了,跟int没有关系,在Java中,/出来的都是整数,且并不会四舍五入。
因为是/10,最后剩一个数的时候除出来是小数,因为num是int型的,会默认为0,计数器额外+1
public class HelloWorld{
public static void main(String[] args){
int num = 999;
int count = 0;
if(num > 0 && num < 0x7FFFFFFF) {
while(num / 10 != 0) {
count++;
num /= 10;
}
System.out.println("他是个" + (count + 1) + "位的数!");
} else {
System.out.println("输入有误");
}
}
}
public class HelloWorld{
public static void main(String[] args){
long num = 1111111111;
int count = 1;
while( num / 10 != 0 ){
count +=1;
num /= 10;
}
if(count>=10){
System.out.println("重新输");
}else
System.out.println("它是个"+count+"位的数");
}
}
public class HelloWorld{
public static void main(String[] args){
int num = 999;
int count = 0;
while(num > 0){
num /= 10;
count++;
if(num == 0)
{
System.out.println("它是个" + count + "位的数");
}
}
}
}
就是给一个数值,让它极大,然后呢,取出循环中通用的数值.
int值除以一个数值,会产生一个 大于整数的值。
比如:2位数是在 10-99 就是说999 / 99, 还是0;
就是/999,若为0,它就是这个count位数,
Java入门第一季(IDEA工具)升级版
1165172 学习 · 17581 问题
相似问题