Java 如何从该数组中获取一个随机字符串作为赢家打印?

Java 如何从该数组中获取一个随机字符串作为赢家打印?,java,arrays,string,random,Java,Arrays,String,Random,这是到目前为止的代码,我试图让脚本的最后一部分每次都从数组中打印一个随机名称。然而,我正在努力找到一种方法来做到这一点 import java.util.Arrays; import java.util.Random; public class ArrayTask2moredataseminar { public static void main(String[] args) { String[] name = new String[10]; S

这是到目前为止的代码,我试图让脚本的最后一部分每次都从数组中打印一个随机名称。然而,我正在努力找到一种方法来做到这一点

import java.util.Arrays;
import java.util.Random;


public class ArrayTask2moredataseminar {

    public static void main(String[] args) {


        String[] name = new String[10];
        String random = (name[new Random().nextInt(name.length)]);


        name[0] = "Stewart";
        name[1] = "James";
        name[2] = "Duncan";
        name[3] = "John";
        name[4] = "Smith";
        name[5] = "Robertson";
        name[6] = "McGregor";
        name[7] = "Mayweather";
        name[8] = "Ian";
        name[9] = "Paul";

        //sorts arrays in java
        Arrays.sort(name);

        //searching on sorted array using binary search method
        if(Arrays.binarySearch(name, "Stewart") >=0) {
            System.out.println("The array contains " + name[0]);
        }

        if(Arrays.binarySearch(name, "Roach") >=0) {
            System.out.println("The array contains " + name[0]);
        }



        System.out.println(Arrays.toString(name));

        for (int i = 0; i < name.length; i++) {
            System.out.println(name[i]);

        }

        System.out.println("The Winner is: " + random);





    }

}
导入java.util.array;
导入java.util.Random;
公共类数组task2moredataseminar{
公共静态void main(字符串[]args){
字符串[]名称=新字符串[10];
字符串random=(name[new random().nextInt(name.length)]);
名称[0]=“Stewart”;
姓名[1]=“詹姆斯”;
名称[2]=“邓肯”;
姓名[3]=“约翰”;
姓名[4]=“史密斯”;
姓名[5]=“罗伯逊”;
姓名[6]=“McGregor”;
姓名[7]=“梅威瑟”;
名称[8]=“Ian”;
姓名[9]=“保罗”;
//在java中对数组排序
数组。排序(名称);
//用二进制搜索法搜索排序数组
if(Arrays.binarySearch(名称,“Stewart”)>=0){
System.out.println(“数组包含”+name[0]);
}
if(Arrays.binarySearch(名称,“Roach”)>=0){
System.out.println(“数组包含”+name[0]);
}
System.out.println(Arrays.toString(name));
for(int i=0;i
创建数组后,您将立即设置
random
。Java数组最初填充默认值(
null
,用于所有引用类型,包括
String
),因此您将始终选择值
null

随机
赋值放在
名称
元素赋值后的某处:

String[] name = new String[10];
name[0] = ...;
name[1] = ...; // etc

// Some other code.

random = name[new Random().nextInt(name.length)];
创建数组后,您将立即设置
random
。Java数组最初填充默认值(
null
,用于所有引用类型,包括
String
),因此您将始终选择值
null

随机
赋值放在
名称
元素赋值后的某处:

String[] name = new String[10];
name[0] = ...;
name[1] = ...; // etc

// Some other code.

random = name[new Random().nextInt(name.length)];

在数组中设置名称后,只需将您的
字符串random=…
放在某个地方。不管是在排序之前还是之后。这很有效。。。非常感谢。在数组中设置名称后,只需将您的
字符串random=…
放在某个地方。不管是在排序之前还是之后。这很有效。。。非常感谢。如果你想让一些东西指向数组中的一个随机索引,如果那里的东西发生了变化,那么你需要一种不同的方法,比如说,如果你想有一个指向数组中第一个元素的指针。它根本不可能工作的原因是字符串在java中是不可变的,所以我建议只阅读java基础知识。在C语言中,这可能很好(指向数组中的随机位置),这可能是造成混乱的原因。如果你想在数组中有一个指向随机索引的东西,如果它发生了变化,你需要有一个不同的方法,比如,如果您想要一种指向数组中第一个元素的指针。它根本不可能工作的原因是字符串在java中是不可变的,所以我建议只阅读java基础知识。在C语言中,这可能工作得很好(指向数组中的随机位置),这可能是造成混乱的原因。