[爆卦]java二維陣列是什麼?優點缺點精華區懶人包

為什麼這篇java二維陣列鄉民發文收入到精華區:因為在java二維陣列這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者jeeyi345 (letmein)看板java標題Re: [問題] 請問如何輸入二維陣列時間S...


※ 引述《PsMonkey (痞子軍團團長)》之銘言:

: 版主的功能就是當壞人嗎? [遠目]
: ※ 引述《jeeyi345 (letmein)》之銘言:
: : 我要模擬Banker's Algorithm
: 你就算要模擬 Google 演算法也無所謂
只是大概解釋一下為何需要二維陣列
: : 所以需要用二維陣列計算,我用讀txt檔的方式輸入
: :
: 上面這段程式,對於看的人來說有什麼問題呢?
: 1. 沒有良好縮排
: 2. 有奇怪的註解混進來了,真正的註解反而沒半個
: 3. 不知道 `input` 是怎麼來的,連是哪個 class 都不知道
: 4. 不知道 TXT 檔內容是啥樣子
public static void main(String[] args) throws Exception {
int acin[][]=new int[50][3];
File allocin = new File("D:\\alloc.txt"); //alloc.txt位置;預設為D
Scanner input = new Scanner(allocin);//準備讀取alloc.txt

while(input.hasNext()){
for(int j=0;j<acin[j].length;j++){
for(int i=0;i<3;i++){
acin[j][i]=input.nextInt();
System.out.print(acin[j][i]);
}
System.out.println();
}
}
input.close();
}
txt檔內容:
0 1 0
2 0 0
3 0 2
2 1 1
0 0 2
輸出
010
200
302
211
002
Exception in thread "main" java.util.NoSuchElementException
at java.util.Scanner.throwFor(Unknown Source)
at java.util.Scanner.next(Unknown Source)
at java.util.Scanner.nextInt(Unknown Source)
at java.util.Scanner.nextInt(Unknown Source)
: : 請問該怎麼解決呢?
: 1. 請搞清楚那個不知道是什麼的 input 的 hasNext() / nextInt() 是啥意思
: 2. 請搞清楚你三層迴圈之間的關係,尤其是扯到 1 的部份
: 3. 說不定根本就是你的 TXT 不能滿足 XD
就我看說明理解,hasNext()是當還有值時輸入,nextInt()是輸入int
因為我看錯誤敘述猜測是沒有值,而acin[][]還沒用完產生的錯誤,
想用hasNext() break跳出來解決,但沒辦法
因為寫一維陣列時沒有遇過這個問題,想請教各位高手
這兩次是在這初次發文,請多包含


--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 1.162.95.64
cuteclare:你一次讀了九個吧? 06/09 19:23
jeeyi345:輸出看起來都讀了,不明白你的意思耶,不好意思 06/09 20:02
mars90226:for(int j=0;j<acin[j].length;j++) 你不覺得怪怪的嗎? 06/09 20:30
jeeyi345:本來是acin.length,根據前一篇文章回應中修改的。 06/09 20:50
gmoz:因為你沒有搞懂hasNext()跟NextInt()的差別 你可以想想看 06/09 21:05
gmoz:跟[][]沒用完100%一點關係都沒有 提示:認的對象不同 06/09 21:10
jeeyi345:我想到條件改hasNextInt()或陣列改String,但錯誤一樣 06/09 21:24
mars90226:版主是在說你的第二個for吧? 06/09 21:25
mars90226:你用3個迴圈去讀二維陣列,你想一下是不是怪怪的? 06/09 21:28
cuteclare:1(input.hasNex) < 3*3(acin[j].length*3)個input.next 06/09 21:31
jeeyi345:直接改acin[5][3]就可以,二維陣列不能多給空間在裁減囉 06/09 21:43
jeeyi345:一維陣列輸入時我是那麼做的 06/09 21:49
PsMonkey:回文跟推文已經算給你答案了,其餘得靠你自己努力了 06/09 21:50
jeeyi345:謝謝各位熱心回復,我再看推文好好想 資質駑鈍啊 06/09 22:03
PsMonkey:這無關資質,而是凡人必經的過程(我到現在還是常常遇到 06/09 22:11
cuteclare:天啊~板主是凡人(大吃一驚! 06/09 22:18
PsMonkey:==" 樓上都沒看版標嗎? [淚目] 06/09 22:19
jeeyi345:原來PsMonkey是板主XD初來不識泰山 推文感動到,有動力了 06/09 22:32
gmoz:提示:你的1次while = 跑3次nextInt,檢查的地方要改. 06/09 22:36
gmoz:建議你先學會操作IDE的單步執行來除錯 06/09 22:37
gmoz:改陣列長度可以是因為數量剛好 不要再提陣列了XD 06/09 22:39
jeeyi345:試出來了\^0^/謝謝謝謝謝謝!要感謝的人太多了,就謝天吧 06/09 23:02
jeeyi345:感覺各位下筆前都很清楚,不像我錯了明示暗示還看不出來 06/09 23:06
gtu001:你只在最外層檢查hasnext不行,裡面每取值一次都要檢查 06/10 21:25
jej:初次看到code的時候還是覺得看FileInputStream可能比較好 06/11 12:10
jej:看到檔案內容後我就...噴了.... 06/11 12:12

你可能也想看看

搜尋相關網站