之前讲的都是输出,如果想实现在控制台中输入内容怎么办呢?
java.util.Scanner
一个可以使用正则表达式来解析基本类型和字符串的简单文本扫描器。
Scanner 使用分隔符模式将其输入分解为标记,默认情况下该分隔符模式与空白匹配
( Character.isWhitespace)。
一、编程实战
代码的详细解读,可以参考视频教程
import java.util.Scanner;
public class TestInput {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("请输入的内容:");
//按行读取
if (input.hasNextLine()) {
//输入完回车
System.out.println(input.nextLine());
}
//空格、Tab、回车为标记
if(input.hasNext()){
System.out.println(input.next());
}
//始终等待键盘输入
while (input.hasNext()) {
System.out.println(input.next());
}
}
}
扫描器还可以使用不同于空白的分隔符,使用自定义分隔符祁聪
。
String input = "1 祁聪 2 祁聪 red 祁聪 blue 祁聪";
Scanner sc = new Scanner(input).useDelimiter("\\s*祁聪\\s*");
System.out.println(sc.nextInt());
System.out.println(sc.nextInt());
System.out.println(sc.next());
System.out.println(sc.next());
sc.close();
读取文件。
//读取文件(要加try-catch)
Scanner fsc = new Scanner(new File("D://test.txt"));
while (fsc.hasNext()) {
System.out.println(fsc.next());
}