天天看点

基础学习:控制台接收输入字符与重定向输出流实现程序日志两例子的编程

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,如需转载请自行联系原作者

继续阅读