2020.12.08——JAVA流程控制—Scanner对象
JAVA流程控制
-
java.util.Scanner 是 Java5 的新特征,我们可以通过 Scanner 类来获取用户的输入。
-
基本语法
Scanner s = new Scanner(systeam.in);
-
通过Scanner类的next()与nextline()方法获取输入的字符串,在读取前使用hasNext()和hasNextLine判断是否还有输入的数据
//创建一个扫描器对象,用于接收键盘数据
Scanner s = new Scanner(System.in);
System.out.println("使用next方式接收:");
//判断用户是否输入字符串,输入111 222,回车
if (s.hasNext()) {
String str = s.next();
System.out.println("next输入的内容为:" + str);//输出111
}
if (s.hasNextLine()) {
String strlin = s.nextLine();
System.out.println("nextLine输入的内容为:" + strlin);//输出111 222
}
s.close();
-
next()
-
一定要读取到有效的字符串后才可结束输入
-
对输入有效字符串之前的空格,next()方法会自动将其去掉
-
只有输入有效字符后才将其后面的空格作为分隔符或者结束符
-
next()不能得到带有空格的字符串
-
-
nextline()
-
以enter为结束符,也就是得到回车之前的所有字符
-
可以获得空格
-
-
简单的流程判断
Scanner scanner = new Scanner(System.in);
int i = 0;
float f = 0.0f;
System.out.println("请输入数字:");
if (scanner.hasNextInt()) {
i = scanner.nextInt();
System.out.println("得到整数" + i);
} else if (scanner.hasNextFloat()) {
f = scanner.nextFloat();
System.out.println("得到小数" + f);
} else {
System.out.println("输入的不是数字");
}
scanner.close();
-
利用while进行循环判断,求和
Scanner scanner = new Scanner(System.in);
int n = 0;
double sum = 0;
System.out.println("请输入数字,结束请输入非数字");//依次输入1,2,3,a
while (scanner.hasNextDouble()) {
double d = scanner.nextDouble();
n++;
sum = sum + d;
}
System.out.println("个数为:" + n + ",总和为:" + sum);//个数为:3,总和为:6.0
scanner.close();