我有这个课程作业,我应该创建一个带有构造函数的类,该构造函数具有单个参数,一个指定收入的整数数组,按升序排列。后来我必须绘制一张显示收入和税收的图表。在实际操作过程中,我在示范者的帮助下编写了一些代码,但现在又被卡住了
public class TaxChart {
static int[] income;
public TaxChart(int[] income) {
this.income = income;
income[0] = 100;
income[1] = 120;
income[2] = 130;
income[3] = 160;
income[4] = 320;
}
public static void main(String[] args) {
draw();
}
public static void draw() {
TaxChart incomes = new TaxChart();
// ...
}
}
不知怎的,我需要将收益值用于draw方法,但是这样做时会出现大量错误。我知道这是一个简单的问题,但我之前主要用C ++编程,而且我几乎没有Java经验。
答案 0 :(得分:0)
您的构造函数采用int []数组的值,但您没有在main中传递任何值。此外,收入不需要是静态的,因为这意味着它属于类(而不是对象本身)。
做同样的事情:
public class TaxChart {
private int[] income;
public TaxChart(int[] income) {
this.income = income;
this.income[0] = 100;
this.income[1] = 120;
this.income[2] = 130;
this.income[3] = 160;
this.income[4] = 320;
}
public void draw() {
//TaxChart incomes = new TaxChart();
// ...
}
public static void main(String[] args) {
TaxChart taxChart = new TaxChart(new int[5]);
taxChart.draw();
}
}
答案 1 :(得分:-1)
首先,income
不应声明为static
。您应该从static
中删除static int[] income
一词。
另外,删除此:
income[0] = 100;
income[1] = 120;
income[2] = 130;
income[3] = 160;
income[4] = 320;
在构造函数中改变参数数组
是没有意义的我想你要传递价值:
100, 120, 130, 160, 320
到构造函数,对吧?
您应该创建一个数组并将其传递给draw方法中的构造函数:
int[] myArray = { 100, 120, 130, 160, 320 };
TaxChart incomes = new TaxChart(myArray);