Java教程

Java基础面试题第三天

本文主要是介绍Java基础面试题第三天,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

JAVA中生成随机数的方法

第一种:Math.random()

返回的数值是[0.0,1.0)的double型数值,由于double类数的精度很高,可以在一定程度下看做随机数,借助(int)来进行类型转换就可以得到整数随机数了,代码如下。

(数据类型)(最小值+Math.random()*(最大值-最小值+1))

第二种: JDK提供了一个类, 类名Random, 主要功能 : 可以生成指定范围内的任意一个随机数, Random来自于java.util路径下

double nextDouble()//[0.0, 1.0)
int nextInt()//返回int类型随机数
int nextInt(int n)
//返回[0, n)之间的随机数

第三种:currentTimeMillis() (了解)

方法返回从1970年1月1日0时0分0秒(这与UNIX系统有关)到现在的一个long型的毫秒数,取模之后即可得到所需范围内的随机数。

public static void main(String[] args) { 
int max=100,min=1; 
long randomNum = System.currentTimeMillis(); 
int ran3 = (int) (randomNum%(max-min)+min);
 System.out.println(ran3); 
}

案例: 1-100之间的任意一个随机整数

package com.tohka;

import java.util.Random;

//案例 : 1-100之间的任意一个随机整数
public class Demo3 {
    public static void main(String[] args) {
        //第一种 Math.Random()
        //(数据类型)(最小值+Math.random()*(最大值-最小值+1))
        int ran1 = (int)(1+ Math.random()*(100-1+1)) ;
        System.out.println(ran1);
        //第二种 random类 nextDouble
        Random random = new Random();
        int ran2 =  (int)(1+random.nextDouble()*(100-1+1));
        System.out.println(ran2);
        //第三种 random类 nextInt
        int ran3 = random.nextInt(100)+1;
        System.out.println(ran3);
        //第四种 System.currentTimeMillis()
        long currentTimeMillis = System.currentTimeMillis();
        int ran4 = (int)(currentTimeMillis%(100-1)+1);
        System.out.println(ran4);
    }
}

这篇关于Java基础面试题第三天的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!