亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

這樣不對嗎

public class HelloWorld{
??? public static void main(String[] args){
??????? int num = 999;
??????? int count = 0;
??????? if(num>=0&&num<=999999999){
??????????? do{
??????????????? count++;
??????????????? num/=10;
??????????? }while(num!=0);
??????? System.out.println("它是個"+count+"位的數");
??????? }else{
??????????? System.out.println("輸入有誤");
??????? }
??? }
}

正在回答

6 回答

上面回答的人都沒做測試吧,我把程序運行了一遍沒發現哪里有問題,運行結果也是3位。

2 回復 有任何疑惑可以回復我~
#1

十字路口向左向右 提問者

知己啊
2016-09-07 回復 有任何疑惑可以回復我~

? ? ? 這樣表達也對, INT的無符號位存儲范圍在0~2^32-1,999999999在這個范圍內

·


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

do while 是先進行一次然后再判斷

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

你這樣貌似是四位數

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

應該把中間循環部分改成

while(num!=0){

count++;

? ? ? ?num/=10;

? }


0 回復 有任何疑惑可以回復我~
#1

十字路口向左向右 提問者

這只是一種方法 ,我的也沒錯啊,因為有if限制 這個數必定是一位數到六位數之間的,我先讓count自加一次,因為這個數最少是一位數,然后num/10,如果是一位數那么得出的值就是0,不符合while條件,自然退出循環,如果是兩位數到這步也變成一位數了,再走一遍do,到while也就退出了,count也沒錯啊
2016-09-07 回復 有任何疑惑可以回復我~

999999999已經超過int 類型最大數值,數值溢出

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

舉報

0/150
提交
取消
Java入門第一季(IDEA工具)升級版
  • 參與學習       1167585    人
  • 解答問題       18748    個

0基礎萌新入門第一課,從Java環境搭建、工具使用、基礎語法開始

進入課程

這樣不對嗎

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號