Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.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 从用户输入数组创建随机输出 公共类决策者{ 公共静态void main(字符串参数[]){ 字符串选项[]=新字符串[10]; //输出 对于(int i=0;i)随机性_Java_Arrays_Random_Count - Fatal编程技术网

Java 从用户输入数组创建随机输出 公共类决策者{ 公共静态void main(字符串参数[]){ 字符串选项[]=新字符串[10]; //输出 对于(int i=0;i)随机性

Java 从用户输入数组创建随机输出 公共类决策者{ 公共静态void main(字符串参数[]){ 字符串选项[]=新字符串[10]; //输出 对于(int i=0;i)随机性,java,arrays,random,count,Java,Arrays,Random,Count,您可以使用java.util.random;生成随机数: public class decisionMaker { public static void main(String args[]) { String option[] = new String[10]; // Output for (int i = 0; i <= 9; i++) { Scanner input = new Scanner(Syst

您可以使用
java.util.random;
生成随机数:

public class decisionMaker {
    public static void main(String args[]) {
        String option[] = new String[10];
        // Output

        for (int i = 0; i <= 9; i++) {
            Scanner input = new Scanner(System.in);
            System.out.print("Enter the next option:");
            option[i] = input.next();
            System.out.println(" ");
        }

        for (int i = 0; i <= 9; i++) {
            System.out.println("option:   ");
            System.out.println("option[i]+"             ");
        }
    // Output
}
关于一些坏代码: 如果要使用
System.out.println()
打印变量的值,则只需键入不带引号的变量。下面编写的代码将无法编译:

import java.util.Random;

public class SomeClass{
    static Random rand = new Random();

    public static void main(String args[]){
        System.out.println(rand.nextInt());
    }
}
假设这就是您想要做的,那么应该改为:

System.out.println("option:   ");
System.out.println("option[i]+"             ");
甚至
System.out.println(“选项:\n”+选项[i]);

(转义序列
\n
放在引号内时,仅指示控制台添加新行。)

扫描仪: 此外,正如nick zoum所指出的,您的
扫描器
对象应该在
for
循环之外初始化,例如
main()
方法的正下方


如果您需要澄清或我误解了您的要求,请在下面进行评论。很难理解您的问题。

您可以尝试以下方式:

System.out.println("option: ");
System.out.println(option[i]);
公共类决策者{
公共静态void main(字符串[]args){
//输出
扫描仪=新的扫描仪(System.in);
int size=getInt(扫描仪);
字符串选项[]=新字符串[大小];
对于(int index=0;index虽然(大小请将文本形式的代码添加到问题中,并在此处查看:,btw javascript!==java如果您发布代码而不是图像,那将很好?请注意,javascript与java完全无关。让我们从这里开始,欢迎继续!您能试着解释一下您的问题吗?您已经问了两个问题我相信。1.如何根据用户输入生成随机数2.如何退出循环。您能确认这一点吗?这两个问题都已经有答案了。1.2.您能在您的答案中添加OP应该移动
扫描仪输入=新扫描仪(System.in)
在循环之外。好眼力@nickzoum。我编辑了它以包含您的帮助。第一部分可能是OP的打字错误,因为
“option[I]+”
我不是字符串,这不能编译。这也可以像
System.out.println(“option:\n%s”,option[I]);
)正确@AxelH,这就是我在回答中指出的。打字错误可能不是问题的一部分,这可能会被OP确认。
public class DecisionMaker {
    public static void main(String[] args) {
        // output
        Scanner scanner = new Scanner(System.in);
        int size = getInt(scanner);
        String option[] = new String[size];
        for (int index = 0; index < size; index++) {
            System.out.print("Enter the next option:");
            option[index] = scanner.next();
        }
        int index = (int) (Math.random() * size);
        System.out.println(option[index]);
        scanner.close();
        // output
    }

    public static int getInt(Scanner scanner) {
        int size = 0;
        while (size <= 0) {
            if (scanner.hasNext()) {
                if (scanner.hasNextInt()) {
                    size = scanner.nextInt();
                }
            }
            if (size <= 0) {
                System.out.println("The input: " + scanner.next() + " is not a valid value.");
            }
        }
        return size;
    }
}