啊哈哈哈哈百无聊赖
2017-02-08 15:33
public class HelloWorld{
public static void main(String[] args){
int num = 999;
int count = 0;
while(num!=0)
{
int n = num % 10;
if(n != 0)
count += 1;
num /= 10;
}
System.out.println("它是个"+count+"位的数!\n");
}
}
感叹号中英文的区别吧
我放到eclipse运行了,结果是对的
把count+=1;放在while循环的第一句结果才正确。
假如说num=9的时候,第一个判断num%10=0,这时候就不会进入if语句,count也不会+1,这时候输出的结果就是它是个0位数,显然结果是错的。
这又不是真实的开发环境,只是慕课网为了教学弄出来的网页版,不用太计较,实在过不去就跳过这节,你自己知道就行了,如果有强迫症可以试试下面的写法,这是我当初写的,应该能过:
public class HelloWorld{ public static void main(String[] args){ int num = 999; int count = 0; if (num >= 0 && num <= 999999999) { do { count++; num /= 10; } while (num != 0); System.out.println("它是个" + count + "位的数!"); } else { System.out.println("输入错误!"); } } }
求采纳!
你不妨试一试输出结果,count最终得到的是3,而不是“三”
代码没问题 是网页编辑器的问题,你试试去去空格,去去打印的多余的字符
Java入门第一季(IDEA工具)升级版
1165548 学习 · 17586 问题
相似问题