我这段代码哪里错了 请指教!

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+"位的数!");

请指教 谢谢了!


weibo_我只是想叫地三鲜这么_03785400
浏览 1304回答 2
2回答

qq_匡璐_0

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

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。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java