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

求大神告诉要怎么修改

public class HelloWorld{

public static void main(String[] args){

int num = 999;

for(int count=1;count<=9;count++){

    if (num%10!=0){

        num%=10;

        int i=count;

    }

    else{

        break;

    }


System.out.println("它是个"+i+"位的数!");


}



}

}

http://img1.sycdn.imooc.com//576228930001fa7209870511.jpg

正在回答

1 回答

package com.sellcar;

public class test3 {
	public static void main(String[] args) {
		int num = 999;
		int i = 0; //将变量i的作用域放在循环外
		for (int count = 1; count <= 9; count++) {
			if (num / 10 != 0) { //计算位数是每次除以10,而不是取模10 ,999%10=9, 9%10=9, 9%10=9,...... 就会无穷尽了
				num = num/10; //每次除位数后要重新对num赋值,否则再次进入循环的时候num的值不变还是 999;
				i = count;
			} else {
				i+=1; //当除完两次,到最后一次个位num=9 的时候, 9/10=0 不能进if循环了,就到了else中,但是9仍然是一位,需要把最后个位加上.
				break;
			}
		}
		System.out.println("它是个" + i + "位的数!");

	}
	/*当你对循环不是很清晰的时候建议你可以在草纸上做演练,分析每一次的计算的过程和结果,
	* 我写程序五年了,现在遇到复杂的计算和循环还是要先在草纸上演练,祝你一切顺利!
	*/
}


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第一季(IDEA工具)升级版
  • 参与学习       1163069    人
  • 解答问题       17551    个

0基础萌新入门第一课,从Java环境搭建、工具使用、基础语法开始

进入课程

求大神告诉要怎么修改

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信