如何从字符串数组中获取随机字符串 [重复]

Posted

技术标签:

【中文标题】如何从字符串数组中获取随机字符串 [重复]【英文标题】:How to get a random String from a String array [duplicate] 【发布时间】:2021-03-06 11:11:50 【问题描述】:

我正在做一个电影计划制作者,我必须在文本框中设置几部电影,然后按一个按钮将电影添加到数组中,然后我必须对零食做同样的事情,在最后我必须输入电影的名称,当我按下按钮显示电影时,它必须显示我输入的电影并随机获得零食,我的问题是我不知道如何获得随机点心,我的两个数组(电影和点心)也必须在数组中有 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 课程的代码,如果它有帮助的话。

【问题讨论】:

这能回答你的问题吗? How to randomly pick an element from an array 【参考方案1】:

使用此代码将生成大约 8 位数字 Math.abs(随机 .nextInt()) sotre 在一个变量中并将其转换为字符串,并在转换为字符串后使用 subString 将 8 位数字变为 2 位数字或 1 位数字,然后将其存储到字符串变量中 并再次将其转换为整数,然后将该数字传递给该数组的下标

【讨论】:

【参考方案2】:

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

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

【讨论】:

以上是关于如何从字符串数组中获取随机字符串 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何从 C# 中的两个数组中获取两个随机字符串

如何生成保存到数组中的随机字符串? c# [重复]

如何随机从数组中获取随机字符串项,并将字符串单词的每个字符随机放入li标签中

从数组中选择一个随机字符串[重复]

从Firestore获取一个ArrayList并从该列表中选择3个随机字符串

jQuery 从字符串数组中选择一个随机值