用户交互
在程序运行的过程中,可以让用户录入一些数据,存储在内存的变量中,在后续的程序运行过程中可以使用这些数据。
步骤:
- 导包,在类的声明上面,import java.util.Scanner;
- 创建键盘录入对象,Scanner scanner = new Scanner(System.in);
- 调用sc对象的nextXXX()方法,获取键盘录入的数据
int x = scanner.next(); - 使用x后续处理
包的本质就是文件夹
- 为了能够使用某一个包的成员,我们需要在java程序中明确导入该包。使用“import”语句可以完成词功能
格式: import package1[.package2].(classname|*)
*是通配符,表示导入这个包下的所有类 - 包的作用为了防止命名空间的重复
- "package"必须放在第一行
next():
- 一定要读取到有效字符后才可以结束输入。
- 对输入有效字符之前遇到的空白,next()方法会自动将其去掉。
- 只有输入有效字符后才将起后面输入的空白作为分隔符或者结束符。
- next()不能得到带有空格的字符串。
import java.util.Scanner;
public class Demo {
public static void main(String[] args) {
//创建一个扫描器对象,用于接收键盘数据
Scanner scanner = new Scanner(System.in);
System.out.println("使用next方式接收");
//判断用户有没有输入字符串
if(scanner.hasNext()){
String str = scanner.next();//程序会等待用户输入完毕
System.out.println("输出的内容为:"+str);
}
//凡是属于IO流的类如果不关闭会一直占用资源,要养成良好的习惯用完就关掉
scanner.close();
}
}
运行结果如下图:

nextLine():
- 以Enter为结束符,也就是说nextLine()方法返回的是输入回车之前的所有字符。
- 可以获得空白。
import java.util.Scanner;
public class Demo {
public static void main(String[] args) {
//从键盘接收数据
Scanner scanner = new Scanner(System.in);
System.out.println("使用nextLine方式接收");
//判断是否还有输入
if(scanner.hasNextLine()){
String str = scanner.nextLine();
System.out.println("输出的内容为:"+str);
}
scanner.close();
}
}
运行结果如下图:

import java.util.Scanner;
public class Demo {
public static void main(String[] args) {
//我们可以输入多个数字,并求其总和和平均数,每输入一个数字用回车确认,通过输入非数字来结束输入并输出执行结果
Scanner scanner = new Scanner(System.in);
//和
double sum = 0;
//计算输入了多少个数字
int m = 0;
System.out.println("请输入数据:");
//通过循环判断是否还有输入,并在里面对每一次进行求和和统计
while(scanner.hasNextDouble()){
double x = scanner.nextDouble();
m++;
sum += x;
}
System.out.println(m + "各数的和为" + sum);
System.out.println(m + "各数的平均数为" + (sum / m));
scanner.close();
}
}

浙公网安备 33010602011771号