Java中Scanner和 Random类的使用

Scanner类的使用:(接收输入)
A 首先我们需要知道键盘录入是: Scanner scanner = new Scanner(System.in);
B Scanner类是java.util包中的一个类
C 使用方法
①首先需要构造一个Scanner类的对象,并且与标准输入流System.in关联
Scanner sc=new Scanner(System.in);
int i=sc.nextInt();//其实也可以理解为固定搭配
②调用Scanner类对象sc的方法从输入流中获取你需要的输入
d 常用方法:next();nextInt();nextLine();
例1:需求:键盘录入一个月份,输出该月份对应的季节。
一年有四季
3,4,5 春季
6,7,8 夏季
9,10,11 秋季
12,1,2 冬季

import java.util.Scanner;

public class Month {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);//键盘录入
        //接收数据
        System.out.println("请输入1月份~12月份");
        int month=scanner.nextInt(); //控制台输入的数字赋值给Month
           switch (month){
               case 1:
               case 2:
               case 12:
                System.out.println("冬季");
                break;
               case 3:
               case 4:
               case 5:
                System.out.println("春季");
                break;
               case 6:
               case 7:
               case 8:
                System.out.println("夏季");
                break;
               case 9:
               case 10:
               case 11:
                System.out.println("秋季");
                break;
                default:
                    System.out.println("您输入的月份有误");
                    break;

        }
    }
}

例题2:键盘录入4个学生的姓名
···
public static String[]Scanner(){
String[]student =new String[4];//容器
Scanner scanner =new Scanner(System.in);//键盘录入
for(int i=0;i<4;i++){
String name =scanner.next();//只能输入一个数据
student [i]=name;
}
return student;
}
···
Random类的使用(产生随机数)
A基本格式:Random r = new Random();
B Random类位于java.util包下,此类的实例用于生成伪随机数流。之所以称之为伪随机,是因为真正意义上的随机数(或者称为随机事件)在某次产生过程中是按照实验过程表现的分布概率随机产生的,其结果是不可预测,不可见的。而计算机中的随机函数是按照一定的算法模拟产生的,其结果是确定的,可见的。我们认为这样产生的数据不是真正意义上的随机数,因而称之为伪随机。
C基本方法介绍:
a、public boolean nextBoolean():是生成一个随机的boolean值,生成true和false的值几率相等,也就是都是50%的几率。

b、public double nextDouble():是生成一个随机的double值,数值介于[0,1.0)之间。

c、public int nextInt():是生成在-231到231-1之间int值。如果需要生成指定区间的int值,则需要进行一定的数学变换.

d、public int nextInt(int n):是生成一个介于[0,n)的区间int值,包含0而不包含n。如果想生成指定区间int值,也需要进行一定的数学变换.

e、public void setSeed(long seed):是重新设置Random对象中的种子数。设置完种子数以后的Random对象和相同种子数使用new关键字创建出的Random对象相同。

f、 public float nextFloat(int n):返回下一个伪随机数,它是取自此随机数生成器序列的、在 0.0 和 1.0 之间均匀分布的 float 值。

g、 public long nextLong():返回下一个伪随机数,它是取自此随机数生成器序列的均匀分布的 long 值。

h、public double nextGaussian():返回下一个伪随机数,它是取自此随机数生成器序列的、呈高斯(“正态”)分布的 double 值,其平均值是 0.0,标准差是 1.0。

eg:用Random类产生一个随机数。

···
//这是一个错误的程序,第二行的Rand类名和第四行的rand同名,故会报错。
import java.util.Random;
public class Rand {
public static void main(String[] args) {
Random rand = new Random();
double nextInt2 = rand.nextInt();
System.out.println("nextInt2"+nextInt2);
}

}
···
···
import java.util.Random;
public class Wang {
public static void main(String[] args) {

    Random rand = new Random();
    double nextInt2 = rand.nextInt();
    //  int r=rand.nextInt(790);
    System.out.println("nextInt2"+nextInt2);
}

}
···
以上就是我对Java中Scanner和 Random类的使用的个人见解。

推荐阅读更多精彩内容

  • 【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔...
    Bamboo1688阅读 2,193评论 0 9
  • 【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一...
    阿里高级软件架构师阅读 2,607评论 0 19
  • 方法1 (数据类型)(最小值+Math.random()*(最大值-最小值+1)) 例: (int)(1+Math...
    GB_speak阅读 25,316评论 2 6
  • 嘶……头好疼呐…李苏颜摸了摸头,淡定地看了看周围,嗯,穿越了,越了,了。。。 古色古香,四周的家具很漂亮,看样子原...
    栀粟阅读 33评论 0 0
  • 高效能慢生活践行第221天 聚会 就寝22:30 晨起5:06 昨日午休冥想:无 最近一周的睡眠都不太够,想到第二...
    风入松_6d9f阅读 101评论 0 0