【问题标题】: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 课程的代码,如果它有帮助的话。

【问题讨论】:

标签: java arrays string android-studio random


【解决方案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];
    }
    

    【讨论】:

      猜你喜欢
      • 2019-04-01
      • 1970-01-01
      • 2019-07-16
      • 2012-06-09
      • 1970-01-01
      • 2011-02-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多