Java如何实现键盘输入?使用Scanner类使用方法解析。

为什么需要键盘录入数据?
  我们书写程序时候,数据是固定不变的,但是在开发当中,数据肯定是动态的而不是固定的,所以我们需要把固定的数据更改为键盘录入。

如何使用Scanner键盘录入对象
   1、导包
   在class修饰的类名上面加入如下语句
   import java.util.Scanner;
   2、创建对象
  Scanner input = new Scanner(System.in);
   3、使用变量接收数据
   int num = input.nextInt();

注意:
1.常用方法
nextInt(); 获取用户输入的整数
nextDouble(); 获取用户输入的小数
nextBoolean(); 获取用户输入的boolean值 【不常用】
nextLine(); 获取用户输入的一行,结果是String类型,获取用户输入的字符串
next(); 结果是String类型,获取用户输入的字符串
这些方法都是阻塞方法

2.阻塞方法
什么是阻塞方法?===> 程序执行到这个方法的时候,会停止执行,并不会继续执行,直到用户输入结束,程序继续执行。

3.可能出现的异常
java.util.InputMismatchException
  异常名称: 输入的类型不匹配异常
   产生原因: 用户输入的类型和接收的类型不一致
  解决办法: 类型匹配即可

代码示例

mport java.util.Scanner;
public class ScannerDemo {
	public static void main(String[] args) {
		// 2.创建键盘输入对象 固定格式
		Scanner input = new Scanner(System.in);
		// 给出用户提示性语句
		System.out.print("请输入一行字符串: ");
		// 3.获取用户的输入 
		String line = input.nextLine();
		System.out.println("您输入的数据是: " + line);
		
		System.out.print("请输入整数: ");
		int num = input.nextInt();
		System.out.println("您输入的整数是: " + num);
	
		System.out.print("请输入小数: ");
		double num2 = input.nextDouble();
		System.out.println("您输入的小数是: " + num);
		
	}
}

键盘录入两个数,并将这两个数求和,求最大值,并输出

// 1.导包
import java.util.Scanner;
public class ScannerDemo02 {
	public static void main(String[] args) {
		// 2.创建键盘输入对象
		Scanner input = new Scanner(System.in);
		System.out.print("请输入第一个数: ");
		// 3.定义变量num1 接受用户输入的整数
		int num1 = input.nextInt();
		System.out.print("请输入第二个数: ");
		// 4.定义变量num2 接受用户输入的整数
		int num2 = input.nextInt();
		// 5.定义变量sum 计算两个数的和
		int sum = num1 + num2;
		// 6.定义变量max 求两个数的最大值
		int max = (num1 > num2) ? num1: num2;
		// 7.输出和以及最大值
		System.out.println("两个数的和为: " + sum + ",两个数的最大值为: " + max);
	}
}

键盘录入两个数,并判断两个数是否相等,如果两个数相等,输出两个数相等,不相等就输出两个数不相等,同时输出两个数中较大的值

import java.util.Scanner;
public class ScannerDemo03 {
	public static void main(String[] args) {
		Scanner input = new Scanner(System.in);
		System.out.print("请输入第一个数: ");
		int num1 = input.nextInt();
		System.out.print("请输入第二个数: ");
		int num2 = input.nextInt();
		
		// 三目运算符的值的类型?
		// int max = (num1 > num2) ? num1: num2;
		String result = (num1 == num2) ? "两个数相等": "两个数不相等,并且两个数中较大的值为: " + ((num1 > num2) ? num1: num2);
		System.out.println(result);
	}
}
  • 4
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值