示例一:
public class Test {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in).useDelimiter("\\D");// 匹配非数字
System.out.print("请输入当前日期(年-月-日):");
int year = scan.nextInt();
int month = scan.nextInt();
int date = scan.nextInt();
System.out.println(year+"-"+month+"-"+date);
scan.close(); // 执行关闭
}
}
效果:


只要输入的字符串以非数字(\\D)的字符为分隔符, 得到的结果都是我们想要的。
示例二:
public class Test {
public static void main(String[] args) {
//“\n”换行符(回车)作为输入的分隔符
Scanner scan = new Scanner(System.in).useDelimiter("\n");
System.out.print("请输入:");
String year = scan.next();
System.out.printf("%s年",year);
}
}

只要输入的字符串有回车键,输入的所有内容则为年前面的字符串。
文章展示了如何使用Java的Scanner类通过设定不同的分隔符(非数字和换行符)来读取用户输入。示例一中,用非数字字符作为分隔符获取年月日,示例二中则以换行符作为分隔符获取字符串直到回车。
487

被折叠的 条评论
为什么被折叠?



