[問題] 印出整齊格式

看板java作者 (達)時間9年前 (2015/05/27 02:26), 9年前編輯推噓11(11018)
留言29則, 8人參與, 最新討論串1/1
像下面程式碼列印出來的樣子 0和9沒有真的對齊 (PTT上看起來有對齊,但Eclipse上沒有) -9 -9 0 0 0 0 0 -9 0 -9 0 -9 -9 -9 0 0 printf要怎麼改才能漂亮對齊 就彷彿0的前面有看不見的加號那樣 thank 程式碼: class Data { public void wall() { int[][] grid = new int[][] { { -9, 0, 0, -9 }, { -9, 0, -9, -9 }, { 0, 0, 0, 0 }, { 0, -9, -9, 0 }, { -9, 0, -9, 0 }, { -9, 0, 0, 0 }, { 0, 0, -9, 0 } }; for (int j = 0; j < 4; j++) { for (int i = 0; i < 4; i++) { System.out.printf("%2d" + " ", grid[i][j]); } System.out.print("\n"); } } } public class Wall { public static void main(String[] args) { // TODO Auto-generated method stub Data data = new Data(); data.wall(); } } -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 210.65.89.53 ※ 文章網址: https://www.ptt.cc/bbs/java/M.1432664797.A.A34.html

05/27 02:40, , 1F
%2d改成 %3d or %4d試試看 後面的空白字串可以刪除
05/27 02:40, 1F
我有試過 看起來都不整齊

05/27 02:46, , 2F
原po測試成功後會回來版上說明樓上方法正確嗎?
05/27 02:46, 2F

05/27 03:15, , 3F
欸? 其實你的程式碼沒什麼問題 貼一下截圖上來看看??
05/27 03:15, 3F

05/27 03:15, , 4F

05/27 03:17, , 5F
所以這是原po的作業嗎?
05/27 03:17, 5F

05/27 03:21, , 6F
順便請問alchin7748對於%2d之中的2要改3的原因是?
05/27 03:21, 6F

05/27 03:21, , 7F
我這邊看也是沒問題 是不是因為你終端機字型的關係?
05/27 03:21, 7F

05/27 03:22, , 8F
要選等寬字型才會對齊,看看你預設的字型是不是
05/27 03:22, 8F

05/27 03:26, , 9F
原po知道從Eclipse的console複製未對齊結果貼上來文章?
05/27 03:26, 9F

05/27 03:32, , 10F
自己習慣這樣的輸出寫法是不加空白字串的 如果寫%2d
05/27 03:32, 10F

05/27 03:32, , 11F
的話負數會跟前面整數黏在一起 %3d對於此題剛好會多
05/27 03:32, 11F

05/27 03:32, , 12F
空一格 若矩陣內有二位數 我就會寫成%4d了 不吝指教
05/27 03:32, 12F

05/27 03:34, , 13F
無聊的,同一字型,如0前面有+號,對不齊的可能?
05/27 03:34, 13F

05/27 03:34, , 14F
我應該是不問為什麼是+不是*這樣的定義問題。
05/27 03:34, 14F

05/27 03:35, , 15F
寧願相信 + 對 -,0 對 9,同一字型很難對不齊。
05/27 03:35, 15F

05/27 03:37, , 16F
一般要詭辯要凹的話,技術上就會說+是仿佛看見的。
05/27 03:37, 16F

05/27 03:39, , 17F
@alchin7748,所以改數字是你的習慣。數字代表寬度。
05/27 03:39, 17F

05/27 08:17, , 18F
作法應該是先找出最大的數值所佔的空間(長度)後,
05/27 08:17, 18F

05/27 08:18, , 19F
再依每個數值長短分別補上該有的空間.
05/27 08:18, 19F

05/27 08:20, , 20F
想要漂亮不是一個printf可以辦到的
05/27 08:20, 20F

05/27 09:21, , 21F
就文章內容我相信原po是新手
05/27 09:21, 21F

05/27 09:48, , 22F
沒有"看起來"對齊這回事,常常都要回答user眼見不為憑
05/27 09:48, 22F

05/27 11:55, , 23F
要用等寬字型才會對齊
05/27 11:55, 23F

05/27 14:19, , 24F
如原po真為新手懂得調字型卻不知可能是調了字型產生問題
05/27 14:19, 24F

05/27 14:19, , 25F
來這問,我只好認為是有另一老手幫他調的,但就不再繼
05/27 14:19, 25F

05/27 14:19, , 26F
續幫這新手的這問題
05/27 14:19, 26F
截圖在下: http://imgur.com/cJBIBf0

05/27 23:47, , 27F
你這應該不是等寬字型 而比較像新細明體XD
05/27 23:47, 27F

05/27 23:47, , 28F
把字體切換成"細明體"試試看
05/27 23:47, 28F
我研究設定看看 ※ 編輯: dharma (210.65.89.53), 05/28/2015 16:34:16

05/31 23:22, , 29F
全形半形?
05/31 23:22, 29F
文章代碼(AID): #1LPBhTeq (java)
文章代碼(AID): #1LPBhTeq (java)