Java 在构造函数中初始化数组,然后在主方法中执行它
所以我想弄清楚如何创建这个构造函数,它允许我在构造函数中创建一个数组Java 在构造函数中初始化数组,然后在主方法中执行它,java,arrays,constructor,Java,Arrays,Constructor,所以我想弄清楚如何创建这个构造函数,它允许我在构造函数中创建一个数组 public class knapsack { private int num[]; knapsack(int [] numbers){ this.num = numbers; } 现在注意主文件,我正在尝试创建一个对象,该对象还允许我在其中使用数组,如下所示: public class main { public static void main(String[] arg
public class knapsack {
private int num[];
knapsack(int [] numbers){
this.num = numbers;
}
现在注意主文件,我正在尝试创建一个对象,该对象还允许我在其中使用数组,如下所示:
public class main {
public static void main(String[] args) {
// TODO Auto-generated method stub
knapsack newKnapsack = new newKnapsack({40, 10, 46, 23, 22, 16, 27, 6});
然而,我一直遇到背包newKnapsack=newKnapsack行的问题。我不确定这是否是创建构造函数来创建数组并存储它的方式
我对java非常陌生,因此非常感谢您的帮助 创建对象时,不调用此处的构造函数。另外,创建数组的方式也是错误的。这是创建它的正确方法
public class Knapsack {
private int num[];
Knapsack(int[] numbers) {
this.num = numbers;
}
public static void main(String[] args) {
Knapsack newKnapsack = new Knapsack(new int[]{40, 10, 46, 23, 22, 16, 27, 6});
for (int i = 0; i < newKnapsack.num.length; i++) {
System.out.println(newKnapsack.num[i]);
}
Knapsack.bestTwoValues(newKnapsack.num, 1); //you can access only static members by calling like this
newKnapsack.bestTwoValues(newKnapsack.num, 1); //this way you can access both static and instance variables
}
static int bestTwoValues(int numbers[], int target) {
//your code
return 0;
}
}
另外,在编写代码时,请尝试遵循驼峰符号。所以在这里,类名应该是背包而不是背包所以当你创建对象时,你必须添加与你在构造函数中创建的相同的参数,对吗?当你试图打印出你在主方法的背包类中创建的方法时,如何才能做到这一点?是的,必须添加与构造函数中声明的参数相同的参数。你的意思是打印出数组?我有一个名为bestTwoValues的方法,在这个方法中,它基本上给出了一个数字数组,它找到了两个数字,当相加时,它接近但不超过指定的目标值。因此它有。静态int bestTwoValuesint数字[],int目标。我希望能够在主方法中使用这个方法,我们在主方法中创建了一个对象,那么我怎样才能调用它呢?与Knapsack.bestTwoValues类似,您可以使用new关键字后跟类名而不是变量名来构造类的实例。在您的情况下,它应该是背包newKnapsack=newKnapsack{。。。。