这是我遇到问题的代码块:
public void draw() {
double tax = 0;
double income = values[0];
TaxCalculator one = new TaxCalculator();
tax = one.tax(income);
double net = 0;
net = one.net(income);
for(int i = 0; i<values.length;i++){
Bar y = new Bar();
y.makeVisible();
y.moveHorizontal(20 + i*20);
y.moveVertical(197 - (int) income);
y.changeSize(3, (int) income);
y.changeColour(Colour.BLUE);
Bar x = new Bar();
x.makeVisible();
x.moveHorizontal(20 + i*20);
x.moveVertical(197 - (int) income - (int) tax);
x.changeSize(3, (int) tax);
x.changeColour(Colour.RED);
}
我想要做的是使用这个Bar类创建一个图形,它基本上只是一个可编辑的矩形。我应该输入这个循环的每个循环2个数字,我在另一个类中调用一个数组输入将该数组的第一个数字转换为当前的Bar y,在另一个代码块中,它正在接受该数字并对其执行操作并返回税收,即Bar x,我相信我的问题源于我是反复渲染相同的条,所以我想知道是否有办法在for循环中创建具有不同名称的多个对象,从而允许它进入我的数组的下一个值。
如果需要更多代码来解决此问题,我很乐意发布
答案 0 :(得分:0)
循环使用在循环之前初始化的数据,因此income
将始终为values[0]
,并且所有条形仅代表第一个值。
移动大部分代码(TaxCalculator
部分可以留在外面,因为它最有可能重复使用)会给你一些基本的内容
for(int i = 0;i < values.length; i++) {
double income = values[i];
double tax = one.tax(income);
Bar y = new Bar();
...