快捷搜索: 王者荣耀 脱发

Java基础:Scanner类和Random类

1.Scanner类

作用:

Scanner类内置于java.util.Scanner包中,用来实现数据输入。

使用方法:

import java.util.Scanner //1. 要实现输入数据先导包,写在java源文件的顶端
public class E {
    public static void main(String []args) {
        Scanner sc = new Scanner(System.in);//2. 创建Scanner对象(参数System.in表示从键盘读取数据)
        int a = sc.nextInt();//3. 扫描下一个整数型数据,定义一个变量来接收
        //4. 程序的最后要关闭输入流, 要养成这个习惯
        sc.close();
    }
}

案例:

描述:从键盘中输入一个年份,判断这一年是不是闰年。

输入示例1:2020

输出示例1:2020是闰年

输入示例2:2022

输出示例2:2022不是闰年

解法:

import java.util.Scanner;//1. 导入实现数据输入所需的包
public class E {
    public static void main(String []args) {

        //2. 创建Scanner实例
        Scanner sc = new Scanner(System.in);

        //3. 从键盘读取年份,定义一个整型变量接收
        int year = sc.nextInt();

        //4. 判定输入年份是否为闰年,双分支只需要用if语句即可
        //判定条件:年份能被4整除且不能被100整除,或者年份被400整除
        if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
			System.out.println(year + "是闰年");
		} else {
			System.out.println(year + "不是闰年");
		}
        //5. 程序结束前关闭输入流
        sc.close();
    }
}

2.Random类

作用:

Random类内置于java.util.Scanner中,也比较常用,用于生成随机数。

使用方法:

import java.util.Random;//1. 导入生成随机数所需的包,且导包的语句写在java源文件顶端
public class E {
	public static void main(String []args) {
		Random r = new Random();//2. 创建随机对象
		int a = r.nextInt(3);	//3. 调用Random中定义的nextInt()随机生成一个整数, 区间[0, 3), 并定义一个整型变量接收。(最小值: 0, 最大值: 实参 - 1)
	}
}

案例:

描述:本Reno不知道今天中午吃什么,于是由生成随机整数0~4决定:生成1,就吃木桶饭;生成2,就吃牛肉粉;生成3,就吃汉堡套餐;生成4,就吃烤冷面;生成0就什么都不吃。

解法:

import java.util.Random;//1.导入生成随机数所需的包
public class E {
	public static void main(String []args) {
		Random r = new Random();//2. 创建随机对象
		int a = r.nextInt(5);	//3. 随机生成一个区间[0,5)的整数
		//4. 由于分支数 > 2, 用switch语句完成, 通过判定随机获取到的数决定打印输出内容
		switch (a) {
		case 1: 
			System.out.println("去吃木桶饭!");
			break;
		case 2:
			System.out.println("去吃牛肉粉!");
			break;
		case 3:
			System.out.println("去吃汉堡套餐");
			break;
		case 4:
			System.out.println("去吃烤冷面");
			break;
		default:
			System.out.println("算了, 不吃了!");
            break;
		}
	}
}
经验分享 程序员 微信小程序 职场和发展