Re: [問題] 九九乘法表

看板C_Sharp (C#)作者 (逍遙遊)時間12年前 (2012/05/04 20:05), 編輯推噓1(1018)
留言19則, 5人參與, 最新討論串3/4 (看更多)
我照你的格式改成 for 迴圈... string str; Console.Write(" "); for(int x=1;x<10;x++) { str = Convert.ToString(x); Console.Write(str.PadLeft(3)); } Console.Write("\n"); for(int y=1;y<10;y++) { Console.Write(y); for(int x=1;x<10;x++) { str = Convert.ToString(x * y); Console.Write(str.PadLeft(3)); } Console.Write("\n"); } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.25.181.174

05/04 20:08, , 1F
原來有PadLeft這招喔
05/04 20:08, 1F

05/04 20:09, , 2F
還滿好用的,就不用對齊對到吐了
05/04 20:09, 2F

05/04 20:17, , 3F
其實我現在在學JAVA已經測試過邏輯,但是我沒有C#編譯器測試^^
05/04 20:17, 3F

05/04 21:29, , 4F
其實用 Console.Write("{0,3}", x*y); 就好了
05/04 21:29, 4F
ssccg大大高招 ^_^ 程式又簡化了...為什麼可以這樣用啊? 我已經安裝 VS 2010 Express 已經可以檢驗您的說法,效果是一樣的,正確無誤。XD 這樣省掉一個字串變數的宣告...真的很精簡...^_^ Console.Write(" "); for (int x = 1; x < 10; x++) { Console.Write("{0,3}", x); } Console.WriteLine(); for (int y = 1; y < 10; y++) { Console.Write(y); for (int x = 1; x < 10; x++) { Console.Write("{0,3}", x * y); } Console.WriteLine(); } Console.ReadLine(); ※ 編輯: if4 來自: 114.25.181.174 (05/05 01:52) ※ 編輯: if4 來自: 114.25.181.174 (05/05 10:53)

05/05 11:15, , 5F
那是string format...
05/05 11:15, 5F

05/05 11:29, , 6F
謝謝...我再查資料...感恩 ^_^
05/05 11:29, 6F

05/05 12:34, , 7F
是這一個嗎? ^_^ http://m955.com/wp/archives/176
05/05 12:34, 7F

05/05 13:45, , 8F
是...所以是Console.WriteLine()用了string format~並不是
05/05 13:45, 8F

05/05 13:46, , 9F
一定要Console.Write才能達成目的...
05/05 13:46, 9F

05/05 13:47, , 10F
特別聲明一下~s大沒說錯~只是我想提醒這一點...
05/05 13:47, 10F

05/05 13:48, , 11F
謝謝 andymai 大大的解說,感恩 ^_^
05/05 13:48, 11F

05/05 13:54, , 12F
那如果要真的印出 "{0,3}" 是不是需要用到 \ 符號?謝謝 ^_^
05/05 13:54, 12F

05/05 15:45, , 13F
我試過了,要印出 "\{0,3\}" 無法使用,難道要自己合成字串?
05/05 15:45, 13F
不加參數就可以直接印出來 Console.Write("{0,3}") 如果後面要印出 x*y 就要寫兩行,當然...這不是本問題的求解...可能在別的問題上吧 XD Console.Write("{0,3}"); Console.Write(x * y); ※ 編輯: if4 來自: 114.25.181.174 (05/05 16:04)

05/05 16:27, , 14F
不加參數就印的出來是因為會執行到 Console.Write(string)
05/05 16:27, 14F

05/05 16:28, , 15F
這個多載版本,而不是Write(string, params object[])這個
05/05 16:28, 15F

05/05 16:28, , 16F
會把前面的string當成format string來處理的版本
05/05 16:28, 16F

05/05 16:31, , 17F
{}並不是特殊字元,有用format string的method才會處理他
05/05 16:31, 17F

05/05 16:36, , 18F
如果要在format string中印{或}的話,是用{{或}}
05/05 16:36, 18F

05/05 17:48, , 19F
謝謝 ssccg 大大的解說,感恩 ^_^
05/05 17:48, 19F
文章代碼(AID): #1FeyO6Tv (C_Sharp)
文章代碼(AID): #1FeyO6Tv (C_Sharp)