java键盘IO
public class IO {
public static void main(String[] args) throws Throwable {
ScannerTest();
// testScanner1();
// testScanner2(); // testInRead(); // testText();
} /**
* Scanner类中的方法
* 优点一: 可以获取键盘输入的字符串
* 优点二: 有现成的获取int,float等类型数据,非常强大,也非常方便;
* */
public static void ScannerTest(){
Scanner sc = new Scanner(System.in);
System.out.println("ScannerTest, Please Enter Name:");
String name = sc.nextLine(); //读取字符串型输入
System.out.println("ScannerTest, Please Enter Age:");
int age = sc.nextInt(); //读取整型输入
System.out.println("ScannerTest, Please Enter Salary:");
float salary = sc.nextFloat(); //读取float型输入
System.out.println("Your Information is as below:");
System.out.println("Name:" + name +"\n" + "Age:"+age + "\n"+"Salary:"+salary);
} /**
* 注意:看下边两个实例验证我们读入数据的时机
* 有两种方式读入数据:用回车方式分隔数据和用空格分隔数据
* 回车分隔数据时:读入数据的时机是在每次执行scanner.nextInt()时
* 空格分隔数据时:读入数据的时机是在第一次执行scanner.nextInt()时
* 然而,上述规则对读入字符串类型时是无效的,因为空格也算是字符串
* 另外,本类型不支持读取字符
*/
private static void testScanner1() {
Scanner scanner = new Scanner(System.in);
System.out.println("--1--");
int l=scanner.nextInt();
int[] num = new int[l];
System.out.println("--2--");
for(int i = 0; i<l && scanner.hasNext(); i++){
System.out.println("--3--");
num[i] = scanner.nextInt();
}
System.out.println("数组输出:" + Arrays.toString(num));
} private static void testScanner2(){
Scanner s = new Scanner(System.in);
System.out.println("--1--");
while (s.hasNext()) {
System.out.println("--2--");
int a = s.nextInt();
System.out.println("--3--");
int b = s.nextInt();
System.out.println("--4--");
System.out.println("加和:" + (a + b));
}
} /**
* System.in方法:
* 这种方法每次只能读进一个字符,即使接收类型为int型,也不能读两位以上的int类型
* 所以这种方法最合适读取字符类型,如果要读取int/float等类型,会很麻烦。局限性很大
* */
public static void testInRead() throws IOException{
char b = (char)System.in.read();
System.out.println("char类型数b:" + b);
} /**
* InputStreamReader和BufferedReader方法
* 通过输入输出流来读取键盘输入
* 此方法读取字符串功能强大
* 但是如果要编程char/int/float还需要进行强制类型转换
* */
public static void testText() throws Throwable{
InputStreamReader in = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(in);
String str = br.readLine();
System.out.println("str:" + str);
}
}
java键盘IO的更多相关文章
- java的IO流
java的IO流继承四大抽象类分别是字节流 inputStream outputStream与字符流 read write.怎么理解记忆很重要. 直接连接读写对象的是结点流,例如对文件读取字节类的名字 ...
- JAVA中IO总结
JAVA中IO流主要分为两大类: 字节流:InputStream+OutputStream 字符流:Reader+Writer 字节流: InputStream是所有字节输入流的父类 OutputSt ...
- Java基础——IO流
今天刚刚看完java的io流操作,把主要的脉络看了一遍,不能保证以后使用时都能得心应手,但是最起码用到时知道有这么一个功能可以实现,下面对学习进行一下简单的总结: IO流主要用于硬板.内存.键盘等处理 ...
- JAVA的IO运用
IO OF JAVA想写好一篇关于JAVA的IO的文章不容易,因为它涉及的东西很多难以写得有深度和有思路.我虽不才但也写.这篇文章有我个人不少的见解,虽然涉足计算机不深但我不想用一大堆这个可能那个可能 ...
- 彻底明白Java的IO系统
java学习:彻底明白Java的IO系统 文章来源:互联网 一. Input和Output1. stream代表的是任何有能力产出数据的数据源,或是任何有能力接收数据的接收源.在Java的IO中,所有 ...
- Java之IO流详解
IO流 Input/Output 完成输入/输出 应用程序运行时——数据在内存中 ←→ 把数据写入硬盘(磁带) 内存中的数据不可持久保存的 输入:从外部存储器(硬盘.磁带.U盘)把数据读入内存. ...
- Java面向对象 IO (四)
Java面向对象 IO (四) 知识概要: (1)打印流 (2)序列流 SequenceInputStream (3)ObjectInputStream与Ob ...
- Java面向对象 IO (三)
Java面向对象 IO (三) 知识概要: (1)IO 流的操作规律 (2)异常日志信息IO处理 ...
- Java面向对象 IO (二)
Java面向对象 IO (二) 知识概要: (1)字节流概述 (2)字节流复制图片 (3)IO流(读取键盘录入) (4)读取转换流,写入转换流 字节流概述 ...
随机推荐
- table表单制作个人简历
应用table表单,编程个人简历表单,同时运用了跨行rowspan和跨列colspan. <!DOCTYPE html> <html> <head> <met ...
- phpstudy lamp
phpStudy for Linux (lnmp+lamp一键安装包 现在不考虑安装这个 (完整版:http://lamp.phpstudy.net/phpstudy-all.bin) 安装: wg ...
- LinkedList的源码分析(基于jdk1.8)
1.初始化 public LinkedList() { } 并未开辟任何类似于数组一样的存储空间,那么链表是如何存储元素的呢? 2.Node类型 存储到链表中的元素会被封装为一个Node类型的结点.并 ...
- hadoop生态搭建(3节点)-14.redis配置
# ==================================================================规划node1 redis:7000 7001 192.168. ...
- python学习笔记:第14天 内置函数补充和递归
一.匿名函数 匿名函数主要是为了解决一些简单需求而设计的一种函数,匿名函数的语法为: lambda 形参: 返回值 先来看一个例子: # 计算n的n次方 In[2]: lst = lambda n: ...
- vowels_单元音
vowels(美式): 单元音: [i]:需要用劲喊出类似于“yi”的四声,费力咧开嘴,单词eat.need.thief.meet. [?]:卷舌音,单词bird.her.worry.certain. ...
- ubuntu安装cuda、cudnn
环境: Ubuntu 16.04.4 LTS CUDA:8.0 CUDNN:5.1 CUDA下载:https://developer.nvidia.com/cuda-80-ga2-download-a ...
- dfs 队列
题目来源 poj 1562 Description The GeoSurvComp geologic survey company is responsible for detecting unde ...
- 安装MySQLdb模块遭遇"fatal error: my_config.h: No such file or directory"的处理
Issue I encountered an error when I run the python script which need to import the module of & ...
- hdu1051 Wooden Sticks(贪心+排序,逻辑)
Wooden Sticks Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Tot ...