【问题标题】:How would I convert the data type int[] to the data type int如何将数据类型 int[] 转换为数据类型 int
【发布时间】:2020-10-22 07:04:48
【问题描述】:

我已经设置了一个数组来随机化一个类中的 5 个不同的数字。在另一个类中,我提示用户猜测随机数,并且每次都必须参考该数字以确定他们是否猜对了。我的问题是被随机化的数字在数据类型 int[] 中,我需要将它们与数据类型 int 进行比较。当尝试引用随机数时,我收到错误“类型不匹配:无法从 int[] 转换为 int”。关于我将如何做到这一点的任何建议?

类 diceNumGen

        final static int ARRAY_SIZE = 5;
      public static int[] randNumArray = new int [ARRAY_SIZE];
      
      public static int[] randNums(){
            
                  for(int i=0; i < randNumArray.length; i++) {
                        randNumArray[i] = (int) (Math.random()*12);
                        
                        System.out.println(randNumArray);
                        
            }
            return randNumArray.clone();
            
      }}

班级投注


static Bet bet = new Bet();
      diceNumGen newClassObj = new diceNumGen();
      int secondArray = diceNumGen.randNumArray;
      //Set Turns variable where turns = 5
      
      public int turnsToGo = 5;
      
      //Set up the bet() method
      public void bet() {
            
            //Sets up the options as an array to be on the JOptionPane, each are numbered 0, 1, and 2 respectively
            String[] options = {"Guess below 7", "Guess 7", "Guess above 7"};


【问题讨论】:

    标签: arrays types converters type-mismatch


    【解决方案1】:

    欢迎光临,我也是新人,这是我的第一个答案。 我假设您使用的是java,因为关键字,最好在问题或标签中定义编程语言以获得更好的响应。

    关于你的代码的第一件事是你不需要一个完整的类来生成一个数组,像这样的普通函数也可以:

        static int[] randomGen(int len){
            java.util.Random rand = new java.util.Random();
            int[] randoms = new int[len];
            for (int i = 0; i < len; i++) {
                randoms[i] = rand.nextInt(12);
            }
            return randoms;
        }
    

    接下来,请缩进你的代码,不缩进的代码(或严重缩进的代码)会让读者感到困惑。

    关于你的问题,首先你为什么要创建大小为 5 的随机数组?如果您只需要一个随机数,只需创建一个随机数(Math.random() 或更好,nextInt(12) 在 Random 类中)

    如果用户有 5 次机会猜到同一个数字,则不需要 5 个随机数。就用这个:

        int randomNumber = (int) (Math.random() * 12);
    

    或者如果您希望用户猜测 5 个单独的数字,您需要一个 for 循环来迭代每个用户猜测的随机数组。

    祝你学习java好运。

    【讨论】:

    • 您好,感谢您的回复!是的,我正在尝试创建 5 个单独的随机数。我确实有你描述的 for 循环。我遇到的唯一问题是,一旦将数字作为数组的一部分随机化,我需要将它们引用为“int”而不是“int[]”
    • 你有5个不同的数字,你应该把它们都保存起来并迭代它们,那你为什么要把它保存为int呢?只需更改 int 类型并将其保存为 int[],当然不能迭代 int。类似int[] secondArray = diceNumGen.randNumArray;
    猜你喜欢
    • 2016-06-25
    • 2020-06-24
    • 1970-01-01
    • 2013-08-19
    • 1970-01-01
    • 1970-01-01
    • 2016-03-12
    • 1970-01-01
    • 2020-06-17
    相关资源
    最近更新 更多