Random&Scanner

本文详细介绍了Java中的Scanner类用于接收用户输入数据的方法(如nextInt,nextDouble)以及Random类生成随机数的步骤和用法,包括整数、小数和布尔值等不同类型。
摘要由CSDN通过智能技术生成

1. Scanner

1.1 代码示例:
//1.导包,其实就是先找到Scanner这个类在哪
import java.util.Scanner;
public class ScannerDemo1{
	public static void main(String[] args){
		//2.创建对象,其实就是申明一下,我准备开始用Scanner这个类了。
		Scanner sc = new Scanner(System.in);
		//3.接收数据
		//当程序运行之后,我们在键盘输入的数据就会被变量i给接收了
		System.out.println("请输入一个数字");
		int i = sc.nextInt();
		System.out.println(i);
	}
}
1.2 方法解释

1)next()、nextLine()

可以接受任意数据,但是都会返回一个字符串。

比如:键盘录入abc,那么会把abc看做字符串返回。

​       键盘录入123,那么会把123看做字符串返回。

Scanner sc = new Scanner(System.in);
String s = sc.next();//录入的所有数据都会看做是字符串
System.out.println(s);


Scanner sc = new Scanner(System.in);
String s = sc.nextLine();//录入的所有数据都会看做是字符串
System.out.println(s);
//以后我们如果想要键盘录入,不管什么类型,统一使用nextLine
//特点:遇到回车才停止

2)nextInt():

​    只能接受整数。

比如:键盘录入123,那么会把123当做int类型的整数返回。

​          键盘录入小数或者其他字母,就会报错。

Scanner sc = new Scanner(System.in);
int s = sc.nextInt();//只能录入整数
System.out.println(s);

3)nextDouble():

​    能接收整数和小数,但是都会看做小数返回。

​    录入字母会报错。

Scanner sc = new Scanner(System.in);
double d = sc.nextDouble();//录入的整数,小数都会看做小数。
						//录入字母会报错
System.out.println(d);
1.3 方法细节

next(),nextInt(),nextDouble()在接收数据的时候,会遇到空格,回车,制表符其中一个就会停止接收数据。

Scanner sc = new Scanner(System.in);
double d = sc.nextDouble();
System.out.println(d);
//键盘录入:1.1 2.2
//注意录入的时候1.1和2.2之间加空格隔开。
//此时控制台打印1.1
//表示nextDouble方法在接收数据的时候,遇到空格就停止了,后面的本次不接收。

nextLine()方法是把一整行全部接收完毕。*遇到回车 才会停止*

Scanner sc = new Scanner(System.in);
String s = sc.nextLine();
System.out.println(s);
//键盘录入a b(注意a和b之间用空格隔开)
//那么nextLine不会过滤前面和后面的空格,会把这一整行数据全部接收完毕。

2. Random

使用步骤:

2.1 导包

import java.util.Random;

导包的动作必须出现在类定义的上边。

2.2 创建对象

Random r = new Random ();

上面这个格式里面,只有r是变量名,可以变,其他的都不允许变。

2.3 生成随机数

int number = r.nextInt(随机数的范围);

上面这个格式里面,只有number是变量名,可以变,其他的都不允许变。 随机数范围的特点:从0开始,不包含指定值。比如:参数为10,生成的范围[0,10)

import java.util.Random;

public class Test06 {
    public static void main(String[] args) {
        Random r = new Random();
        double d1 = r.nextDouble(); // 生成[0,1.0]区间的小数
        double d2 = r.nextDouble() * 7; // 生成[0,7.0]区间的小数
        int i1 = r.nextInt(10); // 生成[0,10]区间的整数
        int i2 = r.nextInt(18) - 3; // 生成[-3,15)区间的整数 [0,18)整体减3 
        long l1 = r.nextLong(); // 生成一个随机长整型值
        boolean b1 = r.nextBoolean(); // 生成一个随机布尔型值
        float f1 = r.nextFloat(); // 生成一个随机浮点型值
        System.out.println("生成的[0,1.0]区间的小数是:" + d1);
        System.out.println("生成的[0,7.0]区间的小数是:" + d2);
        System.out.println("生成的[0,10]区间的整数是:" + i1);
        System.out.println("生成的[-3,15]区间的整数是:" + i2);
        System.out.println("生成一个随机长整型值:" + l1);
        System.out.println("生成一个随机布尔型值:" + b1);
        System.out.println("生成一个随机浮点型值:" + f1);
        System.out.print("下期七星彩开奖号码预测:");
        for (int i = 1; i < 8; i++) {
            int num = r.nextInt(9); // 生成[0,9]区间的整数
            System.out.print(num);
        }
    }
}
2.4 代码示例:
//1.导包
import java.util.Random;
​
public class RandomDemo1 {
    public static void main(String[] args) {
        //2.创建对象
        Random r = new Random();
        //3.生成随机数
        int number = r.nextInt(100);//包左不包右,包头不包尾
        //0 ~ 99
        System.out.println(number);
​
    }
}

欢迎大家指点评论~ 点赞+关注⭐⭐⭐

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值