【问题标题】:how can i select a specify index from an array to use it in switch case如何从数组中选择指定索引以在 switch case 中使用它
【发布时间】:2021-12-15 07:38:08
【问题描述】:

您好,我是初学者,我想制作一个数学问答游戏,如何选择随机数组的指定索引并将其用作案例值。

                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:
                
               }

【问题讨论】:

  • switch(array[someIndex]) { case 1: ... case 2: ... } ?
  • 您实际上想通过使用开关来实现什么?

标签: java arrays random switch-statement


【解决方案1】:

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

【讨论】:

    【解决方案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};
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多