【问题标题】:Error : The type of the expression must be an array type but it resolved to int错误:表达式的类型必须是数组类型,但解析为 int
【发布时间】:2019-03-12 23:37:13
【问题描述】:

我在从 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])));
			}

【问题讨论】:

  • 你认为new PeProvisionerSimple(getRandomNumberInRange(100, 1000)[newObj]) 会做什么?
  • @ScaryWombat 是根据数组中的每个对象调用随机数的函数

标签: java random cloudsim


【解决方案1】:

有一些事情是错误的。首先,在最后一个代码 sn-p 中,您缺少两个 '}'。其次,getRandomNumberInRange(int min, int max) 返回一个 int,它不是数组。这意味着你不会做getRandomNumberInRange(100, 1000)[newObj],因为这就像做107[4]。 107 不是一个数组,所以它不起作用。另外,newObj 一个数组,所以即使getRandomNumberInRange 返回一个数组,newObj 也不能作为索引来获取数组中的int。这是因为索引(数组[here]中的内容)必须是一个int。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-04-20
    • 2018-08-14
    • 1970-01-01
    • 1970-01-01
    • 2018-09-16
    • 2021-07-24
    • 2019-10-25
    • 1970-01-01
    相关资源
    最近更新 更多