javaSE09-Scanner
1.用户交互Scanner
- 在编程中,需要接收用户输入的数据,就可以使用键盘输入语句来获取,这时就需要一个扫描器(对象),就是Scannner(类),用来获取用户的输入。
- 通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取之前一般使用hasNext()与hasNextLine()来判断有无输入的数据。
2.使用步骤
- 2.1 导入该类所在的包 java.util.*。
- 2.2 创建该类对象(声明变量)。
- 2.3 调用里面的功能。
- 例:
// 1.导入该类所在的包 java.util.Scanner
import java.util.Scanner;
public class Input {
public static void main(String[] args) {
// 2.创建一个扫描器的对象,用于接收键盘数据。
Scanner scanner = new Scanner(System.in);
System.out.println("使用next方式接收:");
// 3.判断用户有无输入字符串
// 4.通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取之前一般使用hasNext()与hasNextLine()来判断有无输入的数据;
if (scanner.hasNext()){
String str = scanner.next(); // 表示接受用户输入的字符串
System.out.println("输出的内容为:"+str);
}
scanner.close(); //使用完一定要记得关闭
}
}
3.练习
3.1 练习01
1.获取用户输入的整数;
2.如果为整数,输出输入的结果 输入的整数数据为…
3.如果不是整数,输出 “输入的数据不为整数”;
4.获取用户输入的小数;
5.如果为小数,输出输入的结果 输入的小数数据为…
6.如果不是小数,输出 “输入的数据不为小数”。
import java.util.Scanner;
public class Input {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
//1.定义整数与小数的变量
int i = 0;
float f = 0.0f;
//2.从键盘接收数据,诱导用户输入整数
System.out.println("请输入整数:");
//3.判断用户是否输入整数
if (scanner.hasNextInt()){
i = scanner.nextInt() ;
System.out.println("输入的结果为:"+i);
}
//4.未输入整数时提醒
else System.out.println("输入的不是整数!");
//5.从键盘接收数据,诱导用户输入小数
System.out.println("请输入小数:");
//6.判断用户是否输入小数
if (scanner.hasNextFloat() ){
f = scanner.nextFloat() ;
System.out.println("输入的结果为:"+f);
}
//7.未输入小数时提醒
else System.out.println("输入的不是小数!");
//8.关闭Scanner
scanner.close();
}
}
3.2 练习02
输入多个数字,并求其总和与平均数,没输入一个数据用回车键确认,通过输入非数字来结束输入并输出执行结果。
import java.util.Scanner;
public class Input {
public static void main(String[] args) {
//输入多个数字,并求其总和与平均数,每输入一个数据用回车键确认,通过输入非数字来结束输入并输出执行结果
//1.获取输入的数据
Scanner scanner = new Scanner(System.in);
System.out.println("请输入数据:");
//2.定义和与数量的参数值
double sum = 0;
int m = 0;
//3.判断起始(循环)条件
while (scanner.hasNextDouble()){ // 4.当用户输入数据时
double x = scanner.nextDouble();
sum+=x; // 和 sum = sum+x
m++; // m=m+1 ,记数
}
System.out.println("输入的数据总和为:"+sum+","+"输入的数据平均值为:"+sum/m);
//5.关闭Scanner
scanner.close();
}
}