有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何从数组中选择一个指定索引以在开关情况下使用它

大家好,我是初学者,我想做一个测验数学游戏,如何选择随机数组的指定索引并将其用作大小写值

                Random random=new Random();
                int num1= random.nextInt(30);
                int num2= random.nextInt(30);
    
                System.out.println(num1+"+"+num2+"=");
                int result=num1+num2;
    
                System.out.println("What is the answer of this operation?");
    
              int sugg1=random.nextInt(100);
              int sugg2=random.nextInt(100);
          
                int[] array = {sugg1,sugg2,result};
        
                Random rand = new Random();
        
                for (int i = 0; i < array.length; i++) {
                    int randomIndexToSwap = rand.nextInt(array.length);
    
                    int temp = array[randomIndexToSwap];
    
                    array[randomIndexToSwap] = array[i];
    
                    array[i] = temp;
                }
                System.out.println(Arrays.toString(array));

                switch (Arrays.toString(array)) {
//I NEED HELP HERE HOW CAN I SELECT A SPECIFY INDEX OF THE RANDOM ARRAY AND USE IT AS CASE VALUE
               case array:
                
               }

共 (2) 个答案

  1. # 1 楼答案

    你可以使用switch(array[yourIndex]){case element: ...}

  2. # 2 楼答案

    我不确定你想做什么

    价值版本:

    // Print for example [14,21,30] if question is 10+11
    System.out.println(Arrays.toString(array));
    // You want the user to select the answer
    System.out.print("Please type the good answer : ");
    Scanner scan = new Scanner(System.in);
    switch(scan.nextInt()){
        case result:
            System.out.println("Good answer!");
            break;
        default:
            System.out.printtln("Bad answer!");
    }
    

    索引版本:

    // Print for example [14,21,30] if question is 10+11
    System.out.println(Arrays.toString(array));
    // You want the user to select the answer index
    System.out.print("Please type the good answer : ");
    Scanner scan = new Scanner(System.in);
    int index = scan.nextInt();
    if(index >= 0 && index <= array.length) {
        switch(array[index]){
            case result:
                System.out.println("Good answer!");
                break;
            default:
                System.out.printtln("Bad answer!");
        }
    } else {
        System.out.println("Selected index does not exist in the array");
    }
    

    顺便说一下,如果sugg1=sugg2=answer,因为在下面的代码中,值是相同的并非不可能:

    int sugg1=random.nextInt(100);
    int sugg2=random.nextInt(100);
    int[] array = {sugg1,sugg2,result};