如何从字符串数组中获取随机字符串 [重复]
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];
【讨论】:
以上是关于如何从字符串数组中获取随机字符串 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
如何随机从数组中获取随机字符串项,并将字符串单词的每个字符随机放入li标签中