java--从控制台获取输入的数据
有时候,我们在编写程序时会需要从命令端传入一个数字或者字符串等!为了实现这个目的我们有三种方式可以达到目的!(推荐使用第二种)
第一种—System.in
注意:
只能读入一个字节数据(比如你输入:“21”,最终检测出来的只是数字:2)
返回的是一个整数(这个字节的ASCLL值,比如现在输入a,得到的结果就是97)
1,传入数字
int read = 0;
System.out.println("输入数据:");
try{
read = System.in.read();
}catch(Exception e){
e.printStackTrace();
}
System.out.println("您输入的数据为:" + read);
2,传入字符
char read = '0';
System.out.println("输入数据:");
try{
//方法返回的是一个整数
//因此需要强制类型转换成字符
read = (char)System.in.read();
}catch(Exception e){
e.printStackTrace();
}
System.out.println("您输入的数据为:" + read);
第二种—Scanner
注意:
- 别忘记导包
- 最终输出的是一个字符串,数字需要转换
- Scanner取得的输入以space, tab, enter 键为结束符
- 在新增一个Scanner对象时需要一个System.in对象
- next()方法用以获得用户输入的字符串
- nextInt()将取得的输入字符串转换为整数类型
- nextFloat()转换成浮点型
nextBoolean()转换为布尔型
//导入的包如下:↓
//import java.util.Scanner;System.out.print(“输入”);
Scanner scan = new Scanner(System.in);
String read = scan.nextLine();
System.out.println(“输入数据:”+read);
第三种—BufferedReader
注意:
- 可以取得包含space在内的输入
- 必须要处理java.io.IOException异常
java.io.InputStreamReader继承了Reader类
BufferedReader br = new BufferedReader(new InputStreamReader(System.in ));
String read = null;
System.out.print(“输入数据:”);
try {
read = br.readLine();
} catch (IOException e) {
e.printStackTrace();
}
System.out.println(“您输入的数据为:”+read);
总结
第一种方法只能读取一个字节,并且返回的是ASCLL值。
第二种方法可以读取一个单词或者多位数组,返回字符串。
第三种方法可以有空格的几个字符串,返回字符串
******************************END******************************
还没有评论,来说两句吧...