首页 > 代码库 > Scanner和bufferreader读取控制台字符的区别
Scanner和bufferreader读取控制台字符的区别
从开始学习Java就用了scanner,因为比较简单每当遇到空格键或者换行键则读取下一个字符,一般用法
while(input.hasNextInt()){
int n = input.nextInt();
int t = input.nextInt();
int c = input.nextInt();
int[] a = new int[n];
for(int i = 0;i < n;i++){
a[i]=input.nextInt();
}
这样就可以读取若干行以空格键或者换行键输入,但是今天做一个在线编程时发现bufferreader比scanner快,虽然比scanner占用内存多一些
bufferreader的输入只能使用readline()的方式读取一行文本,如果想将BufferedReader .readLine()的文本(默认是字符串类型)转换成其他类型的话,需要调用相应的方法(比如说想换成int类型的话,调用Integer.parseInt(BufferedReader .readLine()方法去转换格式))
BufferedReader br =
new
BufferedReader(
new
InputStreamReader(System.in));
String str;
while
((str=br.readLine())!=
null
){
String[] s = str.trim().split(
" "
);
int
n = Integer.parseInt(s[
0
]);
int
t = Integer.parseInt(s[
1
]);
int
c = Integer.parseInt(s[
2
]);
int
[] value =http://www.mamicode.com/
new
int
[n];
if
((str=br.readLine())!=
null
){
String[] s2 = str.trim().split(
" "
);
for
(
int
i =
0
;i<n;i++){
value[i] = Integer.parseInt(s2[i]);
}
}
2.trim()的用法
trim是去掉字符串首尾的空格
3.parseInt()函数
Integer.parseInt(String s)将string返回int数据
Integer.parseInt(String s,int i)将i进制数据转成10进制
Scanner和bufferreader读取控制台字符的区别
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。