java中如何写生成5位数的随机数(数字中不包含4),求助

Python09

java中如何写生成5位数的随机数(数字中不包含4),求助,第1张

测试过了,5位随机数,数字中不包含4

import java.util.Random

public class Test3 {

public String test(int num) {

String str = num + ""// 转化为字符串

for (int i = 0i <str.length()i++) { // 遍历str将每一位数字添加如intArray

char ch = str.charAt(i)

String strCh = ch + ""

if (strCh.equals("4")) { // 如果包含4则再次随机

Random rnd = new Random()

int num1 = rnd.nextInt(89999) + 10000

this.test(num1)

}

}

return str

}

public static void main(String[] args) {

Test3 test3 = new Test3()

Random rnd = new Random()

int num = rnd.nextInt(89999) + 10000

System.out.println("num=" + test3.test(num))

}

}

用random方法来生成随机数。

在Java语言中生成随机数相对来说比较简单,因为有一个现成的方法可以使用。在Math类中,Java语言提供了一个叫做random的方法。通过这个方法可以让系统产生随机数。不过默认情况下,其产生的随机数范围比较小,为大于等于0到小于1的double型随机数。虽然其随机数产生的范围比较小,不能够满足日常的需求。如日常工作中可能需要产生整数的随机数。其实,只要对这个方法进行一些灵活的处理,就可以获取任意范围的随机数

private    static void RandomTest() {

        Random rand=new Random()

        int num=0

        int save[]=new int[6]

        int i=1

        while(i<6)

        {

            num=(int)(rand.nextDouble()*(100000-10000)+10000)

            save[i]=num//放入数组

            System.out.println("第"+i+"个数:"+save[i])//从数组拿出

            i++

        }

    }