無結果,問題在哪里?
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+"位數!"); } } }
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
舉報
2016-07-01
?int?a?=?num/10; 即a=999/10 =99,不在你這個范圍內??梢詤⒖计渌说木幊趟悸?/p>
2016-07-01
num = 999,然后?int?a?=?num/10,所以a=99,while(a?>?0?&&?a?<?10)進不去
if循環if(num>=1)只是一個判斷的要這樣寫用while
所以改正:
public?class?Hello1?{
????public?static?void?main(String[]?args)?{
????????????int?num?=?999;
????????????int?count?=?0;
????????????int?a?=?num/10;
????????????while(a?>?0?&&?a?<?100000){//這個范圍擴大了,但是變成了true;這里如果用if下面就不需要break
????????????while(num>=1){//if變break
????????????num=num/10;
????????????count++;
????????????}
????????????System.out.println("它是一位"+count+"位數!");
? ? ? ? ? ?break;//所以有個break
????????????}
????}
}