如何将数据类型 int[] 转换为数据类型 int

Posted

技术标签:

【中文标题】如何将数据类型 int[] 转换为数据类型 int【英文标题】:How would I convert the data type int[] to the data type 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";


【问题讨论】:

【参考方案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;

以上是关于如何将数据类型 int[] 转换为数据类型 int的主要内容,如果未能解决你的问题,请参考以下文章

在C#中如何将int类型强制转换为double类型

sql 2008 中,将int数据类型如何转换为string?

如何将字典中的字符串值转换为 int/float 数据类型?

将 varchar 值“AND ID =”转换为数据类型 int 时转换失败

如何将 pythons Decimal() 类型转换为 INT 和指数

如何将镶木地板文件的 int64 数据类型列转换为 SparkSQL 数据框中的时间戳?