首页 > 解决方案 > 有没有办法使用 Math.random 而不是 import java.util.Random 但保持相同的输出

问题描述

所以我想使用 Math.random 而不是导入 java.until.Random 但保持我的代码的相同输出

这是我的代码:

import java.util.Random;

public class MyStrings {

    public String randomAlphanumericString(int length) {

        String letters = "abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";

        String randomWord = "";
        Random random = new Random();
        for (int i = 1; i <= length; i++) {
            randomWord += String.valueOf(letters.charAt(random.nextInt(letters.length())));
        }
        return randomWord;
    }

    public boolean validAlphanumericString(String word) {

        for (char letter : word.toCharArray()) {
            if (Character.isLetter(letter) || Character.isDigit(letter)) {
            } else { System.out.println(word + " contains non alphanumeric characters");
                return false;
            }
        }
        return true;

    }


}

标签: java

解决方案


如果你写一个 Lambda 来获取一个随机值,你可以像这样使用它 Random.nextInt()

IntFunction<Integer> rand = x-> (int)(Math.random()*x);

int v = rand.apply(10); // value between 0 and 9 inclusive.


推荐阅读