慕村6393778
2016-05-18 11:06
public class HelloWorld{
public static void main(String[] args){
int num = 999;
int count = 0;
if(num>=0&&num<999999999)
{
while(num!=0)
{
count++;
num/=num;
}
System.out.println("它是个"+count+"位的数!");
}
else
System.out.println("输入错误!");
}
}
对哦 其实就改num=num/10 想多了我= =
public static void main(String[] args){
Scanner s=new Scanner(System.in);
System.out.println("请输入一个数:");
int num=s.nextInt();
int count = 0;
if(num>=0 && num<999999999){
while(num!=0){
num=num/10;
count++;
}
System.out.println("它是个"+count+"位的数!");
}
else
System.out.println("输入错误!");
}
num/=num; 改成 num/=10;
public static void main(String[] args){
int num = 999;
int count = 0;
if(num>=0 && num<999999999){
while(num!=0){
num=num/10;
count++;
}
System.out.println("它是个"+count+"位的数!");
}
else
System.out.println("输入错误!");
当num!=0 这不是陷入无限循环了么? 应该改成下面的. num/=num 自除也等于1了..是num/=10.
再把count = 1 的初始值就行了.
num/10 !=0 //因为num是int型,自动舍弃非整数的小数点后面的数字. 如13/10 = 1 3 / 10 = 0
while()括号中的条件值为真时跳出循环,num一开始的赋值就是999,while(num!=0)括号中的条件值为真,while(){}先判断在执行,判断后不会进入循环。
Java入门第一季(IDEA工具)升级版
1165552 学习 · 17587 问题
相似问题