此类可以方便的对数据进行输入和验证
1.实现基本数据的输入
public
class
ScannerDemo {
public
static
void
main(String[] args) {
Scanner scanner=
new
Scanner(System.
in
);
System.
out
.println(
"请输入数据"
);
String str=scanner.next();
System.
out
.println(
"输入的内容是:"
+str);
}
}
结果:
请输入数据
asdasdas
输入的内容是:asdasdas
但是如果以上输入的过程中出现了空格,就只会输出空格前面的内容,这是因为在Scanner中,将空格当成了一个分割符
我们在做的时候,可以修改分割符
public
class
ScannerDemo {
public
static
void
main(String[] args) {
Scanner scanner=
new
Scanner(System.
in
);
scanner.useDelimiter(
"\n"
);
System.
out
.println(
"请输入数据"
);
String str=scanner.next();
System.
out
.println(
"输入的内容是:"
+str);
}
}
结果:
请输入数据
hello world
输入的内容是:hello world
2.输入小数进行判断
public
class
ScannerDemo {
public
static
void
main(String[] args) {
Scanner scanner=
new
Scanner(System.
in
);
System.
out
.println(
"请输入数据"
);
if
(scanner.hasNextDouble()){
double
str=scanner.nextDouble();
System.
out
.println(
"输入的内容是:"
+str);
}
}
}
结果:
请输入数据
2.0
输入的内容是:2.0
3.实现日期格式的输入
public
class
ScannerDemo {
public
static
void
main(String[] args)
throws
Exception{
Scanner scanner=
new
Scanner(System.
in
);
System.
out
.println(
"请输入日期:yyyy-MM-dd"
);
String str=
null
;
Date date=
null
;
if
(scanner.hasNext(
"^\\d{4}-\\d{2}-\\d{2}"
)){
//判断是否是日期格式
str=scanner.next(
"^\\d{4}-\\d{2}-\\d{2}"
);
//接受日期格式的字符串
date=
new
SimpleDateFormat(
"yyyy-MM-dd"
).parse(str);
}
else
{
System.
out
.println(
"输入日期格式有误"
);
}
System.
out
.println(date);
}
}
结果:
请输入日期:yyyy-MM-dd
2008-12-12
Fri Dec 12 00:00:00 CST 2008