用户交互scanner
可以通过Scanner 类来获取用户的输入
基本语法
Scanner s = new Scanner(System.in);
Scnner 对象
next
- 一定要读取到有效字符才可以结束输出
- 对输入有效字符之前遇到的空白,
next()
方法会自动去除 - 只有输入有效字符后才将其后输入的空白作为分隔符或者结束符
- next()不能得到带有空格的字符串
nextLine()
- 以Enter为结束符(返回输入回车前的所有字符)
- 可以获取空白
例子
import java.util.Scanner;
public class day3 {
public static void main(String[] args) {
System.out.println("hasNext:");
Scanner s = new Scanner(System.in);
if (s.hasNext()) {//判断是否输入
String r = s.next();//程序会等待输入,如不输入不会继续运行
System.out.println("输出的内容为" + r );
}
System.out.println("nextLine:");
Scanner a = new Scanner(System.in);
if (a.hasNextLine());{
String n = a.nextLine();
System.out.println("输出的内容为" + n );
}
s.close();//关闭IO流
a.close();
}
}
==================================
hasNext:
123 321
输出的内容为123
nextLine:
123 321
输出的内容为123 321
进阶实战
import java.util.Scanner;
public class day3 {
public static void main(String[] args) {
System.out.println("请输入数值,每输入一个数值输入一次回车");
System.out.println("如果您已输入完所有值请输入任意非数字字段点击回车即可进行运算");
Scanner scanner = new Scanner(System.in);
double sum = 0;//声明变量
int y = 0;//声明变量
while (scanner.hasNextDouble()){
double x = scanner.nextDouble();
sum = sum + x;//求和
y = y + 1;//数目
System.out.println("当前是第"+ y + "个数值," + "当前数值求和结果为:" + sum);
}
System.out.println("您共提交了" + y + "个数值");
System.out.println("求和结果为" + sum);
System.out.println("平均值为:" + (sum/y));
scanner.close();//关闭IO流
}
}
==================================
请输入数值,每输入一个数值输入一次回车
如果您已输入完所有值请输入任意非数字字段点击回车即可进行运算
233
当前是第1个数值,当前数值求和结果为:233.0
233
当前是第2个数值,当前数值求和结果为:466.0
a
您共提交了2个数值
求和结果为466.0
平均值为:233.0