java—如何从字符串数组中获取随机字符串

8zzbczxx  于 2021-07-08  发布在  Java
关注(0)|答案(2)|浏览(611)

这个问题在这里已经有答案了

如何从数组中随机选取一个元素(12个答案)
上个月关门了。
我正在做一个电影计划制定者,我必须在文本框中设置几部电影,然后按一个按钮将电影添加到数组中,然后我必须对一个零食做同样的事情,最后我必须键入电影的名称,当我按一个“显示电影”按钮时,它必须向我显示我键入的电影并随机获得一个零食,我的问题是我不知道如何得到一个随机零食,而且我的两个数组(电影和零食)必须有50个空格在数组中,我不在乎零食是否重复。

package com.example.movienightplanneracastillo;

import java.util.Random;

public class MovieTheater {

    Random random = new Random();

    private String[] Movies = new String[50];
    private String[] Snack = new String[50];
    private int nextEmptyIndex = 0;

    public boolean addMovie(String movie) {
        if (nextEmptyIndex < Movies.length) {
            Movies[nextEmptyIndex] = movie;
            nextEmptyIndex++;
            return true;
        } else {
            return false;
        }
    }

    public boolean addSnack(String snack) {
        if (nextEmptyIndex < Snack.length) {
            Snack[nextEmptyIndex] = snack;
            return true;
        } else {
            return false;
        }
    }

    public String findAllMatches(String name) {
        String namesFound = "";

        for (int i = 0; i < nextEmptyIndex; i++) {
            if (Movies[i].toLowerCase().contains(name.toLowerCase())) {
                namesFound = namesFound + Movies;
            }
        }

        return namesFound;
    }

    public String getMovie(String movieName) {
        int Index = -1;
        for(int i=0;i<Movies.length;i++) {
            if (Movies[i].equals(movieName));
            Index = i;
            break;
        }
        if(Index == -1) {
            return "";
        }
        else {
            return Movies[Index];
        }
    }
}

这是我的movietheater类的代码,如果它有帮助的话。

67up9zun

67up9zun1#

使用这段代码,它将生成大约8位数字math.abs(random.nextint())在一个变量中,并将其转换为字符串,在转换为字符串后,使用substring将8位数字转换为2位或1位,然后将其存储到字符串变量中,再将其转换为整数,然后将该数字传递到该数组的下标中

eoxn13cs

eoxn13cs2#

它将在电影数组长度范围内生成一个随机数,然后返回该范围内的一个随机电影:

public String randomSnack() {
    int rnd = new Random().nextInt(Movies.length);
    return Movies[rnd];
}

相关问题