public class HelloWorld{public static void main(String[] args){int num = 999;int count = 0;int j=10;while(num/j>=1){j*10,count++};System.out.print("它是个"+count+"位的数!");请指教 谢谢了!
2 回答
已采纳
qq_匡璐_0
TA贡献96条经验 获得超96个赞
int num = 999; int count = 1; int j=10; while(num/j>=1){ j=j*10; count++;} System.out.print("它是个"+count+"位的数!");
标点加错了,语法不通过.另外你的逻辑有问题,int count =1;即可得到正确的答案
另外告诉你个简单的比较投机取巧的方法
int num = 999; System.out.println("它是个"+String.valueOf(num).length()+"位的数!");
即可得到正确答案,望采纳.
慕慕5768497
TA贡献2条经验 获得超5个赞
package hello; public class HelloWorld { public static void main(String[] args) { int num = 999; int count = 0; int j=1; while(num/j>=1){ count++; j *= 10; //这里也可以写成 j = j * 10 } System.out.print("它是个"+count+"位的数!"); } }
无法上传截图,只能手敲啦
我也是java初学者
1. 你的while语句,后面的 count++ 和 j * 10 的部分语法有误,要通过分号结尾,并换行隔开,这样有利于读写。再则,
j * 10 ; 这样仅仅是不够的,不同于count++的自增,如果在循环中对 j 进行重新赋值,需要采用 j *= 10; 这里也可以
写成 j = j * 10。
2. 其次,只要运行就会发现,num=999的情况下,while循环到第二次,j 就 变成1000了,这时候 count 才++了两次等
于 2,输出:“它是个2位的数!”这样明显是不对的,所以,请把 j 的初始值更改为 1。
添加回答
举报
0/150
提交
取消