如何将数据类型 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的主要内容,如果未能解决你的问题,请参考以下文章
sql 2008 中,将int数据类型如何转换为string?
如何将字典中的字符串值转换为 int/float 数据类型?
将 varchar 值“AND ID =”转换为数据类型 int 时转换失败