关于java:如何创建随机单词选择器方法

How to create a random word picker method

我对JAVA很新,只是学习而已。我正在做一个Java任务,我不太明白,我应该创建一个方法,它将接收一个字符串数组,并从数组中返回一个随机选择的STATE。具体说明如下:*getrandomword-->使用字符串数组并选择(返回)其中一个词是随机的。

1
2
           signature:  String getRandomWord (String [] array)
           *

然后我想我必须创建另一个方法。我怀疑您是否有两个名为相同事物的方法,但说明中说:*getrandomword->使用一个字符串数组和一个整数(len)。此方法从数组中选择一个单词,长度大于len。如果单词的长度选定的小于len,则此方法选择另一个词是随机的。重复500次直到找到/返回一个单词或找不到任何单词在这种情况下,此方法将返回空值。

1
           signature:  String getRandomWord (String [] array, int len)

*如我所说,我是新来的,非常感谢你的帮助。


因为这是一个赋值,所以我只给您一些指针,让您自己编写这个方法。用于String getRandomWord (String [] array)的算法说明如下:

  • 计算数组的长度。了解如何查找字符串数组的长度
  • 根据数组的长度生成随机词的索引。参见爪哇中的随机数
  • 从数组中获取并返回随机单词。
  • 所有这些都应该在不超过3行的代码中完成。祝你好运!


    一开始试着做自己,因为这是一项任务。如果您自己做不到,请从下面的代码中获得帮助。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
        private String getRandomWord(String[] array) {
            int idx = new Random().nextInt(array.length);
            return (array[idx]);
        }

        private String getRandomWord(String[] array, int len) {
            String word = null;
            for (int i = 1; i <= 500; i++) {
                word = getRandomWord(array);
                if (word.length() > len) {
                    break;
                } else {
                    word = null;
                }
            }
            return word;
        }


    我建议你自己做。如果没有,代码就在这里:)使用随机API。random方法的nextint()方法给出随机值,该值可用作从arra返回随机字符串的索引。以下是两种方法的完整代码:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    import java.util.Random;

    public class TestJava {
    public static void main(String[] args) {
    String[] strArray = {"first","second","third" };
    System.out.println(getRandomWord(strArray));
    }

    static String getRandomWord(String[] array) {
    Random random = new Random();
    int index = random.nextInt(array.length);
    return array[index];

    }

    static String getRandomWordWithLength(String[] array, int len) {
    Random random = new Random();

    for (int i = 0; i < 500; i++) {
      int index = random.nextInt(3);
      String selectedString = array[index];
      if (selectedString.length() > len)
        return selectedString;
    }
    return null;

    }

    }