使用单词而不是数字的Java数组
这是我遇到问题的代码块:使用单词而不是数字的Java数组,java,arrays,for-loop,Java,Arrays,For Loop,这是我遇到问题的代码块: 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
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);
}
public void draw(){
双重税=0;
双收入=价值[0];
TaxCalculator one=新的TaxCalculator();
税=一。税(收入);
双网=0;
净=一。净(收入);
对于(int i=0;i循环使用在循环之前初始化的数据,因此income
将始终是值[0]
,并且所有条形图将仅表示第一个值
移动大部分代码(TaxCalculator
部分可以留在外部,因为它很可能是可重用的)将为您提供与
for(int i = 0;i < values.length; i++) {
double income = values[i];
double tax = one.tax(income);
Bar y = new Bar();
...
for(int i=0;i
乍一看,您似乎在第一条上画第二条。您对两条使用相同的moveHorizontal参数。您还需要在for循环中移动收入和税收值。现在,您在开始循环之前设置它们,因此它们总是相同的(即值[0])。您想要值[i]
作为收入。如果您注意到,它们的垂直位置不同,设置方式x呈现在y上方,因此x的底部刚好接触到顶部y@Kayaman我从不同的类调用income和tax,调整我的代码不是一个选项,因为这是我的代码规范的一部分project@BenBowen你知道吗你的循环只根据值[0]
绘制框,不是吗?在你的循环中,收入(或税收)的值永远不会改变。我不知道“从不同类别调用收入和税收”是什么意思,但它们都是局部变量。你只需要将代码移到循环中。