这个问题在这里已经有答案了:
如何从数组中随机选取一个元素(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类的代码,如果它有帮助的话。
2条答案
按热度按时间67up9zun1#
使用这段代码,它将生成大约8位数字math.abs(random.nextint())在一个变量中,并将其转换为字符串,在转换为字符串后,使用substring将8位数字转换为2位或1位,然后将其存储到字符串变量中,再将其转换为整数,然后将该数字传递到该数组的下标中
eoxn13cs2#
它将在电影数组长度范围内生成一个随机数,然后返回该范围内的一个随机电影: