快速业务通道

Java编程那些事儿89——读取控制台输入 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-24

Java编程那些事儿89——读取控制台输入

时间:2010-03-15 csdn 陈跃峰

11.3.2 读取控制台输入

前面介绍了使用IO类实现文件读写的示例,其实在很多地方还需要使用到IO类,这里再以读取控制台输入为例子来介绍IO类的使用。

控制台(Console)指无图形界面的程序,运行时显示或输入数据的位置,前面的介绍中可以使用System.out.println将需要输出的内容显示到控制台,本部分将介绍如何接受用户在控制台中的输入。

使用控制台输入是用户在程序运行时和程序进行交互的一种基础手段,这种手段是Windows操作系统出现以前,操作系统位于DOS时代时,用户和程序交互的主要手段。当然,现在这种交互的方式已经被图形界面(GUI)程序取代了。

在读取控制台操作中,操作系统在用户在控制台输入内容,并按回车键提交以后,将用户提交的内容传递给Java运行时系统,Java运行时系统将用户输入的信息构造成一个输入流对象——System.in,在程序员读取控制台输入时,只需要从该流中读取数据即可。至于构造流System.in的过程对于程序员来说是透明的。

查阅JDK API可以发现,System类中的静态属性in是InputStream类型的对象,可以按照输入流的读取方法读取即可。

下面的示例代码实现了输入“回显”的功能,即将用户输入的内容重新显示到控制台,示例代码如下:

/** * 读取控制台输入,并将输入的内容显示到控制台 */ public class ReadConsole1 {  public static void main(String[] args) {   try{    //提示信息    System.out.println("请输入:");    //数组缓冲    byte[] b = new byte[1024];    //读取数据    int n = System.in.read(b);    //转换为字符串    String s = new String(b,0,n);    //回显内容    System.out.println("输入内容为:" + s);   }catch(Exception e){}  } }

在该示例代码中,从System.in中读取出用户的输入,然后将用户输入的内容转换为字符串s,然后输出该字符串的内容即可。

下面实现一个简单的逻辑,功能为:回显用户在控制台输入的内容,当用户输入quit时程序运行结束。实现的代码如下:

/** * 读取控制台输入 * 循环回显内容,当输入quit时退出程序 */ public class ReadConsole2 {  public static void main(String[] args) {   //数组缓冲   byte[] b = new byte[1024];   //有效数据个数   int n = 0;   try{    while(true){     //提示信息     System.out.println("请输入:");     //读取数据     n = System.in.read(b);     //转换为字符串     String s = new String(b,0,n - 2);     //判断是否是quit     if(s.equalsIgnoreCase("quit")){      break; //结束循环     }     //回显内容     System.out.println("输入内容为:" + s);    }   }catch(Exception e){}  } }

Java编程那些事儿89——读取控制台输入(2)

时间:2010-03-15 csdn 陈跃峰

在该示例代码中,加入了一个while循环,使得用户的输入可以进行多次,在用户输入时,送入输入流的内容除了用户输入的内容以外,还包含”\r\n”这两个字符,所以在将输入的内容和quit比较时,去掉读出的最后2个字符,将剩余的内容转换为字符串。

最后是一个简单的《掷骰子》的控制台小游戏,在该游戏中,玩家初始拥有1000的金钱,每次输入押大还是押小,以及下注金额,随机3个骰子的点数,如果3个骰子的总点数小于等于9,则开小,否则开大,然后判断玩家是否押对,如果未押对则扣除

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号