[問題] 請問一下一個陣列的問題,無法進入迴圈!

看板java作者 (莫急莫慌莫害怕)時間9年前 (2015/10/27 21:49), 9年前編輯推噓5(5011)
留言16則, 6人參與, 最新討論串1/1
一個陣列的問題,無法進入迴圈! int arrNum = maxNum - minNum; int[] rndArr = new int[arrNum]; for (int i = minNum; i <= maxNum; i++) { rndArr[i] = i + 1; Log.d("rndArr", String.valueOf(rndArr[i])); } int[] rndArr = new int[arrNum]; 改成 int[] rndArr = new int[maxNum];就跑得到迴圈 不過就會多了好多個空的陣列索引! 不知道有沒有高手,可以幫忙解決,有點想破頭了 maxNum,minNum是確定已取的的int 最終結果類似下面陣列意識圖的表達 [0] [1] [2] [3] [4] //陣列索引 6 7 8 9 10 //陣列內容 希望高手幫我解答:)我自己有認真找谷歌大神泡茶,跟嘗試很多不同方式~ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.134.57.127 ※ 文章網址: https://www.ptt.cc/bbs/java/M.1445953797.A.883.html

10/27 22:23, , 1F
先說明你要解的問題
10/27 22:23, 1F

10/27 22:24, , 2F
跑不到迴圈是index out of bound?
10/27 22:24, 2F
→ 要把minNumr假設是6,maxNum假設是20,塞進陣列裡面

10/27 23:02, , 4F
是這個意思嗎?
10/27 23:02, 4F
→ t大大 可以跟你求解釋嗎!

10/27 23:15, , 5F
rndArr的index會從0開始,你的minNum大於rndArr.length
10/27 23:15, 5F

10/27 23:15, , 6F
不進迴圈是正常的
10/27 23:15, 6F

10/27 23:16, , 7F
請用 for (int i = 0; i < rndArr.length; i++) {
10/27 23:16, 7F

10/27 23:16, , 8F
上面少了一個 若minNum > rndArr.length
10/27 23:16, 8F
→ 感謝~我會試看看的 ※ 編輯: freedom74569 (220.134.57.130), 10/28/2015 01:53:16

10/28 10:20, , 9F
回圈內的i要扣掉Min修正arr索引到0
10/28 10:20, 9F

10/28 22:08, , 10F
今天再看才發現我推文根本說錯誤導原po了,應該會進迴圈
10/28 22:08, 10F

10/28 22:08, , 11F
只是你log出來不會是從index = 0 開始跑才對啊
10/28 22:08, 11F

10/29 01:57, , 12F
對嘛!!!我想說奇怪是我觀念有誤嗎?!但是照他原本寫的恐怕會
10/29 01:57, 12F

10/29 01:57, , 13F
超出陣列
10/29 01:57, 13F

10/29 18:44, , 14F
看這code好恐怖,建議原po把觀念搞清楚,印出來也不需要v
10/29 18:44, 14F

10/29 18:44, , 15F
alueof
10/29 18:44, 15F

10/29 18:46, , 16F
valueof 我說錯,抱歉
10/29 18:46, 16F
※ 編輯: freedom74569 (61.230.134.93), 12/11/2015 07:18:41
文章代碼(AID): #1MBu45Y3 (java)
文章代碼(AID): #1MBu45Y3 (java)