问答详情
源自:4-15 编程练习

无结果,问题在哪里?

public class Hello1 {
    public static void main(String[] args) {
			int num = 999;
			int count = 0;
			int a = num/10;
			while(a > 0 && a < 10){
			if(num>=1){
			num=num/10;
			count++;
			}
			System.out.println("它是一位"+count+"位数!");
			}
	}
}


提问者:景诺 2016-07-01 16:49

个回答

  • 好好学习_中
    2016-07-01 17:14:45
    已采纳

     int a = num/10; 即a=999/10 =99,不在你这个范围内。可以参考其他人的编程思路

  • 慕粉3574461
    2016-07-01 17:50:29

    1. num = 999,然后 int a = num/10,所以a=99,while(a > 0 && a < 10)进不去

    2. if循环if(num>=1)只是一个判断的要这样写用while

      所以改正:

    3. public class Hello1 {

    4.     public static void main(String[] args) {

    5.             int num = 999;

    6.             int count = 0;

    7.             int a = num/10;

    8.             while(a > 0 && a < 100000){//这个范围扩大了,但是变成了true;这里如果用if下面就不需要break

    9.             while(num>=1){//if变break

    10.             num=num/10;

    11.             count++;

    12.             }

    13.             System.out.println("它是一位"+count+"位数!");

    14.            break;//所以有个break

    15.             }

    16.     }

    17. }