Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我怎样才能随机说出这些名字?_Java_Eclipse - Fatal编程技术网

Java 我怎样才能随机说出这些名字?

Java 我怎样才能随机说出这些名字?,java,eclipse,Java,Eclipse,我的任务是: 编写一个采用名称数组的方法–该数组可以是任意长度,因此从1开始 无数的名字。该方法应随机返回一个名称作为 赢家 这些是我的输入/输出 输入:名称数组[Suzy,Tim,Toyin, 希瑟、盖尔、梅勒妮] 输出:列表中的一个名称 到目前为止,我的代码是: public String andTheWinnerIs(String[] name) { String[] names = {"Bob", "Jill", "Tom", "Brandon"}; int index

我的任务是: 编写一个采用名称数组的方法–该数组可以是任意长度,因此从1开始 无数的名字。该方法应随机返回一个名称作为 赢家 这些是我的输入/输出

输入:名称数组[Suzy,Tim,Toyin, 希瑟、盖尔、梅勒妮] 输出:列表中的一个名称

到目前为止,我的代码是:

public String andTheWinnerIs(String[] name) {
    String[] names = {"Bob", "Jill", "Tom", "Brandon"};
    int index = (Math.random() * names.length);
    String namefinal = names[index];
    return namefinal;
}
有人能帮我吗?它只会给我错误:(


我正在使用Java Eclipse

您尝试将字符串数组作为输入,但它对该数组没有任何作用。您不应该在该方法中创建数组

检查此代码

public static void main(String args[]) throws IOException {
        Main m = new Main();
        String[] names = {"Bob", "Jill", "Tom", "Brandon"};
        System.out.println("The winner is: " + m.andTheWinnerIs(names));
    }

    public String andTheWinnerIs(String[] name) {
        int index = (int) (Math.random() * name.length);
        return name[index];
    }
如您所见,我只在
和twinneris
方法中保留了代码的随机代码块。在main方法中,您应该首先创建主类对象,以便可以调用非静态方法
和twinneris
。或者,您可以将该方法设为静态:
公共静态字符串和twinneris(字符串[]名称)

快乐编码..

我将使用java.util包中的
Random().nextInt()
,而不是内部调用Random.nextDouble()的Math.Random()。这样我们就避免了从double转换为int

public String andTheWinnerIs(String[] name) {
    String[] names = {"Bob", "Jill", "Tom", "Brandon"};
    int index = new Random().nextInt(names.length);
    String namefinal = names[index];
    return namefinal;
}

了解错误的一个好方法是使用调试器。在EclipseHi中查找如何使用调试器,欢迎使用StackOverflow。请尝试更好地解释您收到的错误是什么。Eclipse也是Java开发人员的IDE。您的代码是用Java编写的,与Eclipse或任何其他IDE或editorI无关我现在正在做:publicstring和twinneris(String[]names){stringrandom=(names[newrandom().nextInt(names.length)];returnrandom;啊好的!!随时更新你的答案或接受我的答案