首页 > 其他 > 详细

IO流_演示键盘录入

时间:2014-03-12 07:03:07      阅读:548      评论:0      收藏:0      [点我收藏+]

读取一个键盘录入的数据,打印到控制台上

键盘本身就是一个标准的输入设备,对于java而言,对于这种输入设备都有相应的对象在System类中

bubuko.com,布布扣
 1 import java.io.IOException;
 2 import java.io.InputStream;
 3 
 4 public class ReadKeyDemo {
 5     public static void main(String[] args) throws IOException {
 6         readKey();
 7     }
 8     public static void readKey() throws IOException {
 9         InputStream in = System.in;
10         int ch =0;
11         while((ch = in.read())!=-1){//read()这个方法是阻塞式的方法,当没数据可读的时候等待
12             System.out.print((char)ch);
13             //in.close();//默认的输入和输出设备不要关闭资源,会发生异常,
14         }
15     }
16 }
bubuko.com,布布扣

获取用户键盘录入的数据,并将数据变成大写显示在控制台上,如果用户输入的是over,结束键盘录入

思路:
   1.因为键盘录入只能读取一个字节,要判断是否是voer,需要将读取到的字节转换成字符串,
   2.那就需要一个容器,StringBuilder
   3.在用户回车之前将录入的数据变成字符串,再判断是否是voer即可

bubuko.com,布布扣
import java.io.IOException;
import java.io.InputStream;

public class ReadKeyTest {
    public static void main(String[] args) throws IOException {
        readKey();
    }
    public static void readKey() throws IOException {
        //1.创建容器
        StringBuilder sb = new StringBuilder();
        //2.获取键盘读取流
        InputStream in = System.in;
        //3.定义变量记住读取的字节,并循环获取
        int ch = 0;
        while((ch = in.read())!=-1){
            //在存储之情需要判断是否是换行标记,因为换行标记不存
            if(ch==‘\r‘)
                continue;
            if(ch==‘\n‘){
                String temp = sb.toString();
                if("over".endsWith(temp))
                    break;
                System.out.println(temp.toUpperCase());
                sb.delete(0, sb.length());//打印完之后要清空掉容器里的字符
            }
            else
            //将读取到的数据存储到StringBuilder中
                sb.append((char)ch);
            //System.out.println(ch);
        }
    }
}
bubuko.com,布布扣

IO流_演示键盘录入,布布扣,bubuko.com

IO流_演示键盘录入

原文:http://www.cnblogs.com/LO-ME/p/3593889.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!