看板 java 關於我們 聯絡資訊
不好意思又來請教大家Java, google上面都沒找到類似訊息 我有一段Code要輸出在一個Text上面, out.println("PID: "+processArray[i].ID+" Arrival: "+processArray[i].arrivalTime+" Total Time: "+processArray[i].totalCPU+" Avg Burst: "+processArray[i].averageCPUBurst); 輸出出來的東西都歪七扭八: PID: 1001 Arrival: 0 Total Time: 10 Avg Burst: 2 PID: 1002 Arrival: 2 Total Time: 7 Avg Burst: 3 我想輸出比較整齊: PID: 1001 Arrival: 0 Total time: 10 Avg Burst: 2 PID: 1002 Arrival: 2 Total time: 7 Avg Burst: 3 而這些東西是在一個Array裡面, 還有一個問題就是說, 如果我設定processArray[10].ID (我Array可以放100個東西, 可是如果請他輸出第11樣就是已經超出範圍了, 我就算用 if (processArray[i].ID != 0) 似乎也不能防止他跑出界 請問有什麼辦法可以防止Array跑出界, 而我的Array又是Dynamic呢? ===>解決方法: if(processArray[i] != null) 謝謝大家 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 71.183.68.91
BlackMatrix:話說ID是一個Int, 沒有辦法設定成null 02/23 16:25
tkcn:標題說 System.out? 內文說 Text? array 可以用迴圈印 02/23 16:25
tkcn:要格式輸出文字可以用 printf 或 String.format 02/23 16:27
不好意思打錯了, 我的Array of Objects, 然後那裡面的Object有四個Int, 那四個Int要 一排一排的輸出在一個Text File裡面, 因為我正在Debug, 可是因為數字都不太一樣, 導致輸出的文件亂七八糟, 我是想說能不能把他們排列整齊像: PID: array[i].a <--三個空格--> Arrival: array[i].b <---三個空格--> String.format跟printf他所吃的東西: printf(Locale l, String format, Object... args) 可是不太了解網站上面說的Locale是什麼意思? ※ 編輯: BlackMatrix 來自: 71.183.68.91 (02/23 16:34)
asilzheng:用String.format(String format, Object... args) 02/23 22:13
asilzheng:String.format("%04d\t%04d\t%04d", int1, int2, int3); 02/23 22:18
asilzheng:這樣輸出會都是4位數 不足位補0 02/23 22:20
asilzheng:另外 Array是dynamic? 02/23 22:25
asilzheng:好像可以不用加"0" 02/23 22:35
asilzheng:你說的Array 用while (processArray[i] != null)試試 02/23 22:54
chmod:我的話會用 printf("%04d\t%04d\t%04d\n", int1, int2, 02/23 22:58
fbiwbi:像c語言那樣用System.out.printf格式輸出 02/25 13:43