編程練習(xí)遇到的問題
for(int i=1;i<10;i++){ ? ?if(num/(10^i)<=1){ ? ? ? ?count=i; ? ? ? ?System.out.println("它是個"+count+"位的數(shù)!"); ? ?} } 誰能教一下問題在哪,感激不盡
for(int i=1;i<10;i++){ ? ?if(num/(10^i)<=1){ ? ? ? ?count=i; ? ? ? ?System.out.println("它是個"+count+"位的數(shù)!"); ? ?} } 誰能教一下問題在哪,感激不盡
2016-06-05
舉報
2016-06-05
^ 是按位異或 不是冪指數(shù)的意思。比如二進制 ? ? 1001 ^ 1100 = 0101
0^0=0,1^1=0 ,1^0 = 1,0^1=1。
2016-06-05
問題很多,^是判斷真假的,你應(yīng)該是想用*;if(num/(10*i)<=1)里,用count=i會造成死循環(huán);
所以for里條件不對得換,if的循環(huán)體里的加限制的條件語句
2016-06-05
且“^”是異或符號吧
2016-06-05
樓主,你可以用紙和筆進行手動演算一下,當(dāng)i= 1和2是if條件不成立,但是i = 3到9,if條件都是成立的所以,count最終會賦值成9,結(jié)果就是錯誤的了,解決的辦法是在count = i;之后加一條break;語句終止循環(huán),輸出的就是正確的值了
2016-06-05
它輸出后還會繼續(xù)循環(huán)
2016-06-05
你應(yīng)該結(jié)束循環(huán)了