看板 java 關於我們 聯絡資訊
一個陣列的問題,無法進入迴圈! 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
kurakidream: 先說明你要解的問題 10/27 22:23
kurakidream: 跑不到迴圈是index out of bound? 10/27 22:24
→ 要把minNumr假設是6,maxNum假設是20,塞進陣列裡面
terryyamg: 是這個意思嗎? 10/27 23:02
→ t大大 可以跟你求解釋嗎!
jtorngl: rndArr的index會從0開始,你的minNum大於rndArr.length 10/27 23:15
jtorngl: 不進迴圈是正常的 10/27 23:15
jtorngl: 請用 for (int i = 0; i < rndArr.length; i++) { 10/27 23:16
jtorngl: 上面少了一個 若minNum > rndArr.length 10/27 23:16
→ 感謝~我會試看看的 ※ 編輯: freedom74569 (220.134.57.130), 10/28/2015 01:53:16
agreerga: 回圈內的i要扣掉Min修正arr索引到0 10/28 10:20
jtorngl: 今天再看才發現我推文根本說錯誤導原po了,應該會進迴圈 10/28 22:08
jtorngl: 只是你log出來不會是從index = 0 開始跑才對啊 10/28 22:08
gpctv: 對嘛!!!我想說奇怪是我觀念有誤嗎?!但是照他原本寫的恐怕會 10/29 01:57
gpctv: 超出陣列 10/29 01:57
cakeboy: 看這code好恐怖,建議原po把觀念搞清楚,印出來也不需要v 10/29 18:44
cakeboy: alueof 10/29 18:44
cakeboy: valueof 我說錯,抱歉 10/29 18:46
※ 編輯: freedom74569 (61.230.134.93), 12/11/2015 07:18:41