天天看點

基礎學習:控制台接收輸入字元與重定向輸出流實作程式日志兩例子的程式設計

1.控制台接收字元

主要原理是通過Scanner.sc=new Scanner(System.in);建立一個掃描器,然後通過String line=sc.line();擷取使用者,最後“+line.length()+”讀取位數

1

2

3

4

5

6

7

8

9

<code>import</code> <code>java.util.Scanner;</code>

<code>public</code> <code>class</code> <code>InputCode{</code>

<code>    </code><code>public</code> <code>static</code> <code>void</code> <code>main(String[] args){</code>

<code>        </code><code>Scanner sc=</code><code>new</code> <code>Scanner(System.in);</code><code>//建立一個Scanner掃描器</code>

<code>        </code><code>System.out.println(</code><code>"請輸入身份證号:"</code><code>); </code><code>//提示使用者輸入</code>

<code>        </code><code>String line=sc.nextLine();     </code><code>//擷取使用者的一行輸入文本</code>

<code>        </code><code>System.out.println(</code><code>"原來你身份證是"</code><code>+line.length()+</code><code>"位數啊"</code><code>);</code><code>//列印</code>

<code>    </code><code>}</code>

<code>}</code>

<a href="http://blog.51cto.com/attachment/201309/222724633.jpg"></a>

2.重定向輸出流實作程式日志

10

11

12

13

14

15

16

17

18

19

20

21

22

23

<code>package</code> <code>com.lixiyu;</code>

<code>import</code> <code>java.io.FileNotFoundException;</code>

<code>import</code> <code>java.io.PrintStream;</code>

<code>public</code> <code>class</code> <code>RedirectOutputStream {</code>

<code>public</code> <code>static</code> <code>void</code> <code>main(</code><code>String</code><code>[] args){</code>

<code>    </code><code>try</code><code>{</code>

<code>    </code><code>PrintStream out=System.out;</code><code>//儲存原輸出流</code>

<code>    </code><code>PrintStream a=</code><code>new</code> <code>PrintStream(</code><code>"./log.txt"</code><code>);</code><code>//建立檔案輸出流</code>

<code>    </code><code>System.setOut(a);</code><code>//設定使用新的輸出流</code>

<code>    </code><code>int</code> <code>age=</code><code>18</code><code>;</code><code>//定義一個整型</code>

<code>    </code><code>System.out.println(</code><code>"年齡定義成功,初始值為18"</code><code>);</code>

<code>    </code><code>String</code> <code>sex=</code><code>"女"</code><code>;</code>

<code>    </code><code>System.out.println(</code><code>"性别定義成功,初始值為女"</code><code>);</code>

<code>    </code><code>//整合這兩個變量</code>

<code>    </code><code>String</code> <code>info=</code><code>"這是個"</code><code>+sex+</code><code>"孩子,應該有"</code><code>+age+</code><code>"歲了。"</code><code>;</code>

<code>    </code><code>System.out.println(</code><code>"整合兩個變量為info字元串變量,其結果是:"</code><code>+info);</code>

<code>    </code><code>System.setOut(out);</code><code>//恢複原有輸出流</code>

<code>    </code><code>System.out.println(</code><code>"程式運作完畢,請檢視日志檔案。"</code><code>);</code>

<code>    </code><code>} </code><code>catch</code><code>(FileNotFoundException e)  {</code>

<code>        </code><code>e.printStackTrace();</code>

這樣就會在檔案夾裡生成一個log.txt的文檔,顯示:

年齡定義成功,初始值為18

性别定義成功,初始值為女

整合兩個變量為info字元串變量,其結果是:這是個女孩子,應該有18歲了。

done!

本文轉自lixiyu 51CTO部落格,原文連結:http://blog.51cto.com/lixiyu/1302364,如需轉載請自行聯系原作者

繼續閱讀