键盘录入数据
键盘录入数据概述
我们目前在写程序的时候,数据值都是固定的,但是实际开发中,数据值肯定是变化的,所以,我准备把数据改进为键盘录入,提高程序的灵活性
如何实现键盘录入数据呢?(目前先记住使用)
- 导包(位置放到class定义的上面)
import java.util.Scanner;
- 创建对象
Scanner sc = new Scanner(System.in);
- 接收数据
int x = sc.nextInt();
-------------------------------------------------------------------------------
接收键盘录入字符串的方法
String sex = sc.next();
注意事项:
- 调用的方法接收的数据是什么类型,就用对应方法类型的变量接收
- 键盘录入的数据必须和调用方法的类型一致,不然会报错
java.util.InputMismatchException 输入不匹配异常
程序示例
//导包
import java.util.Scanner;
public class ScannerDemo1 {
public static void main(String[] args) {
//创建对象
Scanner sc = new Scanner(System.in);
//使用对象中的方法,接收一个int类型的数据
//使用对象sc中的nextInt()方法,接收一个键盘录入的int类型的数据
//定义一个int类型的变量i,接收数据
int i = sc.nextInt(); //等待我们键盘录入数据
System.out.println("键盘录入的数据为:" + i);
}
}
例题
键盘录入两个数据,获取这两个数据中的最大值
(先不考虑两个数据相等的情况)
分析:
1、导包
2、创建键盘录入对象
3、调用方法,输入两个数据
4、三目运算符求出两个数中的最大值
5、输出
import java.util.Scanner;
public class ScannerTest2 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
//调用方法,输入两个数据
System.out.println("请输入第一个int类型的数据:");
int i = sc.nextInt();
System.out.println("请输入第二个int类型的数据:");
int j = sc.nextInt();
//三目运算符求出两个数中的最大值
int max = (i > j) ? i : j;
//输出
System.out.println("输入的两个数中,最大值为:" + max);
}
}