使用BufferedReader 对象
InputStream inputStream = System.in;
Reader inputStreamReader = new InputStreamReader(inputStream);
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
String name = bufferedReader.readLine(); //从键盘读取一行字符串
String sAge = bufferedReader.readLine(); //从键盘读取一行字符串
int nAge = Integer.parseInt(sAge); //将字符串转化为int类型
1、输入类型为system.in;
2、需要适配器InputStreamReader,因为system.in与BufferedReader不兼容
3、输入类型默认为字符串
4、import java.io.*;
也可简写为:
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String name = reader.readLine();
String sAge = reader.readLine();
int nAge = Integer.parseInt(sAge);
使用Scanner对象
Scanner scanner = new Scanner(System.in);
String name = scanner.nextLine();
int age = scanner.nextInt();
1、输入类型无要求,数字,字符串都可以
2、 import java.util.Scanner;
3、 输入完成后,使用close()关闭输入流;
4、检测输入类型:
hasNextInt()- 这个方法检查下一个输入数据块是否是一个数字(返回真或假,视情况而定)。
hasNextLine()— 此方法检查下一个输入块是否为字符串。
5、分隔符useDelimiter();
scan.useDelimiter("’");//以单引号为分隔符
例:
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner("On a withered branch'" +
"A crow has alighted.'" +
"Nightfall in autumn." +
"''***''" +
"Such a moon above,'" +
"Like a tree cut at the root:'" +
"he fresh cut is white." +
"''***''" +
"How the river floods!'" +
"A heron wanders on short legs,'" +
"Knee-deep in the water.");
scan.useDelimiter("'");
while (scan.hasNext()) {
System.out.println(scan.next());
}
scan.close();
}
}
输出:
On a withered branch
A crow has alighted.
Nightfall in autumn.
***
Such a moon above,
Like a tree cut at the root:
The fresh cut is white.
***
How the river floods!
A heron wanders on short legs,
Knee-deep in the water.