java - 如何从给定列表中随机生成?

标签 java arrays random arraylist

我遇到的问题是从特定列表中随机生成名称。我希望我的程序只能从这些名字中挑选:Bob、Jill、TomBrandon。我尝试学习数组,但我认为这对我来说有点太远了。到目前为止,我想我有一个大概的想法,但我不确定。

import java.util.Random;

public class NameGenerator
{

        public static void main(String[] args)
        {

           System.out.println("This is a program that generates random names from a list!");

           int Bob = 0;
           int Jill = 0;
           int Tom = 0;
           int Brandon = 0;
           Random r = new Random();

在那之后,我有点陷入了如何让发电机运转的问题。

更新: 好吧,我接受了你的建议并尝试学习数组。到目前为止,这就是我所拥有的。

ArrayList<String> names = new ArrayList<String>();
names.add("Bob");
names.add("Jill");
names.add("Tom");
names.add("Brandon");

char index = randomGenerator.nextChar(names.size());
String anynames = names.get(index);
System.out.println("Your random name is" + anynames + "now!");

但是现在它说无法解析 randomGenerator 并且 void 方法无法返回值。关于我哪里出错的任何想法?

最佳答案

import java.util.*; 

public class characters 
{
    public static void main(String[] args)
    {
       Random generate = new Random();
       String[] name = {"John", "Marcus", "Susan", "Henry"};

       System.out.println("Customer: " + name[generate.nextInt(4)]);      

    }
}

看到它有多简单了吗?我给了 4 个简单的名字,可以用单词等代替。代码中的“4”代表String中名字的个数。这很简单。对于那些想要更短的人(我所做的只是减少间距):

import java.util.*; 
public class characters{ 
public static void main(String[] args){
Random generate = new Random(); 
String[] name = {"John", "Marcus", "Susan", "Henry"};
System.out.println("Customer: " + name[generate.nextInt(4)]); }}

关于java - 如何从给定列表中随机生成?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12549448/

相关文章:

c# - 在 C# 中转换数组

ruby - 如何在 Ruby 中对数组中的对象的属性求和

c# - 为什么完全使用 C# 类 System.Random 而不是 System.Security.Cryptography.RandomNumberGenerator?

mysql - 如何从 MySQL 的表中随机选择一行?

java - 错误 : Calendar cannot be resolved in JSP

java - 我能从Java中的父类(super class)中知道扩展类吗?

c - c程序的程序输出

python - 在 Python 中生成欧几里德范数 <= 1 的随机向量?

java - 如何修剪日期?在java中获得所需的形式

Java:查找多个分隔符