gpt4 book ai didi

java - 我将如何使用原始数组整数创建一个类?

转载 作者:行者123 更新时间:2023-12-02 01:17:10 24 4
gpt4 key购买 nike

我是java新手,但我很了解类的工作原理,但不了解数组。我试图创建一个 PrimitiveArray 类,它有一个实例变量,一个原始整数数组。接下来,我尝试创建一个具有 [N] 个随机整数的 PrimitiveArray 对象。

当我尝试在驱动程序中创建数组时遇到错误。数组的类型是类(PrimitiveArray)。该错误基本上是在我调用 PrimitiveArray 时出现的。 IDE 说不兼容的类型需要 PrimitiveArray[],已找到 PrimitiveArray。

public class PrimitiveArray {
int intArray[];

public PrimitiveArray(int amount) {
this.intArray = new int[amount];
}
}
public class Main {

public static void main(String[] args) {
Random rand = new Random();

PrimitiveArray intArray[] = new PrimitiveArray(5);
for (int i = 0; i < intArray.length; i++){
PrimitiveArray[i] = rand.nextInt();
}
}
}

您能否尽可能彻底地解释我做错了什么,以及如何纠正它。谢谢。

最佳答案

您不是在创建新的数组类型,而是在创建一个包含数组的类。因此,PrimitiveArray intArray[](又名PrimitiveArray[])并不完全是您想要的。它只是一个普通的PrimitiveArray,它已经表示包含数组字段的东西。

public class PrimitiveArray {
int[] internal; //this data should be accessed through a method, encapsulation

public PrimitiveArray(int amount) {
this.internal = new int[amount];
}
}

public class Main {

public static void main(String[] args) {
Random rand = new Random();

PrimitiveArray intArray = new PrimitiveArray(5);
//this may do well in the constructor, which you can pass your random to
for (int i = 0; i < intArray.internal.length; i++){
intArray.internal[i] = rand.nextInt();
}
}
}

关于java - 我将如何使用原始数组整数创建一个类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58369637/

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