所以我试图弄清楚如何创建这个构造函数,该构造函数允许我在构造函数中创建一个数组
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 = new背包。我不确定这是否是您如何创建构造函数以创建数组并将其存储。
我对Java非常陌生,因此任何帮助将不胜感激!
答案 0 :(得分:0)
创建对象时,此处未调用构造函数。同样,您创建数组的方式也是错误的。这是创建它的正确方法,
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;
}
}
也请在编写代码时尝试遵循骆驼符号。因此,在这里class
的名称应为Knapsack
而不是knapsack