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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

通過數組進行索引循環并打印出元素?

通過數組進行索引循環并打印出元素?

翻過高山走不出你 2023-07-28 16:08:17
下面的代碼應該打印出我的數組的元素,相反,它一次又一次地打印出第一個元素,而不會結束。我不知道這是否是一件簡單的事情,但我無法找到我的錯誤。盡管這個問題對你們大多數人來說可能很容易,但我們將不勝感激。    public static void main(String [] args) {        int[] myintarray = {12,32,34};        int index= 0;        while(index < 3)        System.out.println(myintarray[index]);        index++;    }}實際結果: 12 12 12 12 12 12 12 ... 12 預期結果: 12 32 34此致,
查看完整描述

3 回答

?
一只萌萌小番薯

TA貢獻1795條經驗 獲得超7個贊

下面的代碼應該打印出我的數組的元素,相反,它一次又一次地打印出第一個元素,而不會結束。我不知道這是否是一件簡單的事情,但我無法找到我的錯誤。盡管這個問題對你們大多數人來說可能很容易,但我們將不勝感激。


    public static void main(String [] args) {

        int[] myintarray = {12,32,34};

        int index= 0;

        while(index < 3)

        System.out.println(myintarray[index]);

        index++;

    }

}

實際結果: 12 12 12 12 12 12 12 ... 12 預期結果: 12 32 34


此致,您的變量index不會在循環內更新:它保持其初始值 ( index = 0),這就是為什么它總是打印數組中的第一個值。另外,由于index永遠不會更新,因此條件index < 3始終是true,這就是循環永遠不會結束的原因。


在 while 循環體周圍添加大括號可以解決您的問題:


  public static void main(String[] args) {

    int[] myIntArray = {12, 32, 34};

    int index = 0;

    while (index < 3) {

      System.out.println(myIntArray[index]);

      index++;

    }

  }

輸出:


12

32

34

在您的版本中, while 循環的主體是單行:System.out.println(myintarray[index]);


查看完整回答
反對 回復 2023-07-28
?
Smart貓小萌

TA貢獻1911條經驗 獲得超7個贊

這里的問題是,您沒有在要進入 while 循環的代碼周圍放置大括號。您會看到,當 while 循環或 for 循環沒有附加大括號時,在大多數語言中,循環只會考慮下一個命令在其中,這將是循環運行的唯一命令。


因此,當運行你的程序時,程序只重復“System.out.println(myintarray[index])”,并且從不增加索引,因此“myintarray[index]”的值永遠停留在12。


所以,我們可以通過兩種方式解決這個問題:


int index = 0;

while(index < 3)

{

    System.out.println(myintarray[index]);

    index++;

}

或者,如果我們想使用 for 循環,


for(int index = 0; index < 3, index++)

{

    System.out.println(myintarray[index]);

}


查看完整回答
反對 回復 2023-07-28
?
神不在的星期二

TA貢獻1963條經驗 獲得超6個贊

在沒有大括號的 while 中,只有緊跟在 while 后面的語句才會被執行。


在您的情況下,這意味著只有 while 之后的第一個語句將被循環,即“System.out.println(myintarray[index]);”。


由于“index++;” 未達到時,您的索引將具有相同的值 0,因此您的程序將始終打印數組的第一個元素。您的代碼范圍將在大括號中轉換為:


while(index < 3) {

    System.out.println(myintarray[index]);

}

index++;

要執行多個語句,請將其全部括在大括號內。


while(index < 3) {

    System.out.println(myintarray[index]);

    index++;

}


查看完整回答
反對 回復 2023-07-28
  • 3 回答
  • 0 關注
  • 195 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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