为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

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

即可得到正确答案,望采纳.

查看完整回答
1 反对 回复 2016-08-09
点击展开后面1
?
慕慕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。

查看完整回答
1 反对 回复 2016-08-09
  • 2 回答
  • 0 关注
  • 1303 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信