[問題] 要怎麼把System.out輸出比較整齊?

看板java作者 (BlackMatrix)時間13年前 (2011/02/23 16:21), 編輯推噓2(209)
留言11則, 5人參與, 最新討論串1/1
不好意思又來請教大家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

02/23 16:25, , 1F
話說ID是一個Int, 沒有辦法設定成null
02/23 16:25, 1F

02/23 16:25, , 2F
標題說 System.out? 內文說 Text? array 可以用迴圈印
02/23 16:25, 2F

02/23 16:27, , 3F
要格式輸出文字可以用 printf 或 String.format
02/23 16:27, 3F
不好意思打錯了, 我的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)

02/23 22:13, , 4F
用String.format(String format, Object... args)
02/23 22:13, 4F

02/23 22:18, , 5F
String.format("%04d\t%04d\t%04d", int1, int2, int3);
02/23 22:18, 5F

02/23 22:20, , 6F
這樣輸出會都是4位數 不足位補0
02/23 22:20, 6F

02/23 22:25, , 7F
另外 Array是dynamic?
02/23 22:25, 7F

02/23 22:35, , 8F
好像可以不用加"0"
02/23 22:35, 8F

02/23 22:54, , 9F
你說的Array 用while (processArray[i] != null)試試
02/23 22:54, 9F

02/23 22:58, , 10F
我的話會用 printf("%04d\t%04d\t%04d\n", int1, int2,
02/23 22:58, 10F

02/25 13:43, , 11F
像c語言那樣用System.out.printf格式輸出
02/25 13:43, 11F
文章代碼(AID): #1DPCDj5B (java)