用户交互Scanner
通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取前一般需要使用hasNext()与hasNextLine()判断是否还有输入的数据。
//创建一个扫描对象,用于接收键盘数据
Scanner scanner = new Scanner(System.in);
//将输入的内容赋值给str
String str = scanner.nextLine();
//输出str内容。
System.out.println("输入的内容为:" + str);
/*或者使用if写法
if (scanner.hasNext()) {
//使用next方式接收
String str = scanner.next();
System.out.println("输入的内容为:" + str);
}
*/
next()与nextLine()区别
next()
- 输入有效字符后,识别到空白会作为分隔符或者结束符。
- next()不能得到带有空格的字符串
nextLine()
- 以enter(回车键)作为结束符
- 可以获得空白。
运用Scanner制作简单的交互运算
//输入多个数字,并且求总和与平均值,输入一个数用回车确定,通过输入非数字来结束输入执行输出结果。
import java.util.Scanner;
public class Demo05 {
public static void main(String[] args) {
System.out.println("请输入数值");
Scanner scanner = new Scanner(System.in);
double sum = 0;//定义和
int x = 0;//定义输入次数
while (scanner.hasNextDouble())//while循环
{
x=x+1;//执行一次次数就+1
double i =scanner.nextByte();
//将输入结果传送给i;
sum=sum+i; //将i的值赋值给sum
System.out.println("输入了第"+x+"数,当前的sum为"+sum);
}
System.out.println(x+"个数的和为"+sum);//输出和
System.out.println("平均值为:"+(sum/x));//平均值
scanner.close();//结束排查
}
}