• 手机版

    扫码体验手机版

  • 微信公众号

    扫码关注公众号

国内首家协议开发

软芯音视解码保护平台

在线
客服

发布
需求

在线
聊天

天盟
APP

天盟APP下载

关注
微信

微信扫一扫访问
顶部

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

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

intnum=999;intcount=1;intj=10;while(num/j>=1){j=j*10;count++;}System.out.print("它是个"+count+"位的数!");标点加错了,语法不通过.另外你的逻辑有问题,int count =1;即可得到正确的答案

另外告诉你个简单的比较投机取巧的方法
intnum=999;System.out.println("它是个"+String.valueOf(num).length()+"位的数!");即可得到正确答案,望采纳.

使用道具 举报

packagehello;publicclassHelloWorld{publicstaticvoidmain(String[]args){intnum=999;intcount=0;intj=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。

使用道具 举报

发新帖

发布任务需求已有1031166位用户正在使用天盟网服务

发布分类: *
任务预算: *
需求内容: *
手机号码: *
任务商家报价为
  • 预算价 :
  • 成交价 :
  • 完工期 :
  • 质保期 :

* 最终任务项目以服务商报价、双方协商为准!