# Scanner交互
```java
Scanner scanner = new Scanner(System.in);
scanner.close();
```
为通用格式,一切操作在此中进行。
---
next():
1. 必须要有**有效的字符输入**后才会结束
2. *有效字符***之前**的空白,此方法会自动去除
3. *有效字符***之后**的空白作为分隔符或结束符(空格之后无效)
4. **next()不会得到带有空格的字符串**( Hello World输入后得到的输出为Hello)
***
nextLine()
1. 以Enter为结束符,此方法返回的是输入回车之前的所有字符
2. 可以获得空白( Hello World输入之后可以得到的结果为 Hello World)
***
~~~java
package com.peng.processControl;
import java.sql.SQLOutput;
import java.util.Scanner;
public class UserInteraction {
public static void main(String[] args) {
//创建一个扫描器对象。用于接收键盘数据
java.util.Scanner scanner01 = new java.util.Scanner(System.in);
System.out.println("使用next方式接收: ");
if (scanner01.hasNext())
{
//使用next方式接收下一个
String str01 = scanner01.next();
System.out.println("输出的的内容为"+str01);
}
java.util.Scanner scanner02 = new java.util.Scanner(System.in);
System.out.println("使用newtLine方式接收");
if (scanner02.hasNextLine())
{
String str02 = scanner02.nextLine();
System.out.println("输出的内容为"+str02);
}
//要求:可以输入多个数字,并求其总和与平均数,每输入一个数字用回车确认,通过输入非数字来结束输入并输出结果
java.util.Scanner scanner03 = new java.util.Scanner(System.in);
double sum=0;
int n=0;
//判断是否还有输入,并在每一个当中求和统计
while (scanner03.hasNextDouble())
{
double x = scanner03.nextDouble();
sum=sum+x;
n=n+1;
}
System.out.println(n+"个数的和为:"+sum);
System.out.println(n+"个数的平均数为:"+(sum/n));
scanner03.close();
scanner02.close();
scanner01.close();
}
}
~~~
原文:https://www.cnblogs.com/Share-my-life/p/14701678.html