zoukankan      html  css  js  c++  java
  • IO流_演示键盘录入

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

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

     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 }

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

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

    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=='
    ')
                    continue;
                if(ch=='
    '){
                    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);
            }
        }
    }
  • 相关阅读:
    Android Activity与Service的交互方式
    Android Service和Thread的区别
    Android Binder机制简单了解
    Android内的生命周期整理
    Android App的生命周期是什么
    ListView item 中TextView 如何获取长按事件
    Go之并发处理(售票问题)
    Go之简单并发
    Go之函数直接实现接口
    Go之类型判断
  • 原文地址:https://www.cnblogs.com/LO-ME/p/3593889.html
Copyright © 2011-2022 走看看