Java核心基础:键盘录入,两个案例一个习题
原创
©著作权归作者所有:来自51CTO博客作者黑马程序员的原创作品,请联系作者获取转载授权,否则将追究法律责任
键盘录入概述:
之前我们涉及到的数据都是写死的, 固定的数据, 这样做用户体验并不好, 我们就想着, 能不能让用户录入数据, 我们通过特定的代码来接收, 这样做就非常好玩儿了, 针对于这种情况, 我们可以通过键盘录入来实现.
即: Java中键盘录入功能指的就是Scanner类, 我们可以通过它的一些方法, 来获取用户录入的数据.
使用步骤
导包. 包就是文件夹.
- Scanner类是java.util包下的类, 使用之前必须要先导包.
- 导包的语句是定义在类的上面的, 格式如下:
- java.util.Scanner;
创建Scanner类的对象, 格式为:
- 也就是必须这么写.
Scanner sc = new Scanner(System.in);
通过Scanner类的nextInt()方法接收用户录入的数据.
- nextInt();
案例一: Scanner入门
需求
提示用户录入他/她的年龄.
通过键盘录入功能, 接收用户录入的年龄.
将用户录入的数据(年龄)打印到控制台上.
参考代码
//导包
import java.util.Scanner;
public class ScannerDemo01 {
public static void main(String[] args) {
//1. 提示用户录入他/她的年龄.
System.out.println("请录入您的年龄: ");
//2. 通过键盘录入功能, 接收用户录入的年龄.
Scanner sc = new Scanner(System.in);
int age = sc.nextInt();
//3. 将用户录入的数据(年龄)打印到控制台上.
System.out.println("age: " + age);
}
}
案例二: 键盘录入版和尚身高
需求
提示用户录入第一个和尚的身高, 并接收
提示用户录入第二个和尚的身高, 并接收
提示用户录入第三个和尚的身高, 并接收.
通过三元运算符, 获取三个和尚中身高最矮的那个和尚的身高.
将结果(最低身高)打印到控制台上.
参考代码
import java.util.Scanner;
public class ScannerDemo02 {
public static void main(String[] args) {
//身高未知,采用键盘录入实现。首先导包,然后创建对象。
Scanner sc = new Scanner(System.in);
//键盘录入三个身高分别赋值给三个变量。
System.out.println("请输入第一个和尚的身高:");
int h1 = sc.nextInt();
System.out.println("请输入第二个和尚的身高:");
int h2 = sc.nextInt();
System.out.println("请输入第三个和尚的身高:");
int h3 = sc.nextInt();
//用三元运算符获取前两个和尚的较低身高值,并用临时身高变量保存起来。
int temp = h1 < h2 ? h1 : h2;
//用三元运算符获取临时身高值和第三个和尚身高较低值,并用最低身高变量保存。
int min = temp < h3 ? temp : h3;
//输出结果。
System.out.println("这三个和尚中身高最低的是:" + min +"cm");
}
}
练习
需求
- 提示用户键盘录入一个三位数, 并接收.
- 求这个数的个位,十位,百位分别是多少.
- 并将结果打印到控制台上.
参考代码
import java.util.Scanner;
//定义一个类, 类名叫: ExerciseDemo01
public class ExerciseDemo01 {
//定义main方法, 作为程序的主入口.
public static void main(String[] args) {
//1. 创建Scanner对象, 用户接受用户录入的数据.
Scanner sc = new Scanner(System.in);
//2. 提示用户录入一个三位数, 并接收.
System.out.println("请录入一个100 - 999 之间的整数: ");
int num = sc.nextInt();
//3. 获取该三位数的各个位数上的数字.
int ge = num % 10;
int shi = num / 10 % 10;
int bai = num / 100 % 10;
//4. 打印结果.
System.out.println(num + "的百位数字是: " + bai + ", 十位数字是: " + shi + ", 个位数字是: " + ge);
}
}