gpt4 book ai didi

java - 错误: The type of the expression must be an array type but it resolved to int

转载 作者:行者123 更新时间:2023-12-02 10:08:58 25 4
gpt4 key购买 nike

我在从 int 转换为 int [] 时遇到问题。我尝试修改编码,但仍然有错误。我想将 getRandomNumberInRange 方法更改为 int[],因为我需要与 [hostType] 结合,而 [hostType] 是数组形式。

// this method is to convert from int to int[]
static Integer[] toObject(int[] intArray) {

Integer[] result = new Integer[intArray.length];
for (int i = 0; i < intArray.length; i++) {
result[i] = Integer.valueOf(intArray[i]);
}
return result;
}

// this method to generate random number
public static int getRandomNumberInRange(int min, int max) {

if (min >= max) {
throw new IllegalArgumentException("max must be greater than min");
}

Random r = new Random();
return r.nextInt((max - min) + 1) + min;
}

//this method is to implement the function getRandomNumberInRange and need to be in array form
public static List<PowerHost> createHostList(int hostsNumber) {
List<PowerHost> hostList = new ArrayList<PowerHost>();
for (int i = 0; i < hostsNumber; i++) {
int hostType = i % Constants.HOST_TYPES;

// int mips2[]=(int) getRandomNumberInRange(100, 1000);
List<Pe> peList = new ArrayList<Pe>();
for (int j = 0; j < Constants.HOST_PES[hostType]; j++) {
int[] obj = new int[hostType] ;
Integer[] newObj = toObject(obj);
peList.add(new Pe(j, new PeProvisionerSimple(getRandomNumberInRange(100, 1000)[newObj])));
}

最佳答案

有一些问题。首先,在最后一个代码片段中,您缺少两个“}”。其次, getRandomNumberInRange(int min, int max) 返回一个 int,它不是数组。这意味着您不会执行 getRandomNumberInRange(100, 1000)[newObj],因为这就像执行 107[4] 一样。 107 不是一个数组,所以这是行不通的。另外,newObj 一个数组,因此即使getRandomNumberInRange返回一个数组,newObj也无法用作索引来获取数组中的int。这是因为索引(数组[此处]中的内容)必须是 int。

关于java - 错误: The type of the expression must be an array type but it resolved to int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55132246/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com