我正在编写一个程序,它具有以下方向:
- 创建 10 个 Taxpayer 对象时,SSN 增加 10,收入增加 10,000;
- 分别从 10 和 10,000 起。
- 输出应该看起来像
- 纳税人SSN:10 收入:10000
- 纳税人SSN:20 收入:20000
- ...
- 纳税人SSN:100 收入:100000
我已经编写了代码,但它以 90 而不是 100 结束。我做错了什么?
public class UseTaxpayer {
public static void main(String[] args) {
Taxpayer[] tp = new Taxpayer[10];
for (int i=1; i<10; i++) {
payer[i] = new Taxpayer(i*10, 10000*i);
System.out.println("Taxpayer SSN: " + payer[i].getSS() + " Income: " + tp[i].getIncome());
}
}
}
class Taxpayer {
private int socialsecurity, income;
Taxpayer(int ss, int income) {
socialsecurity = ss;
this.income = income;
}
int getSS() {
return socialsecurity;
}
int getIncome() {
return income;
}
}
我已经为 For 语句“拼凑”了一个可行的解决方案: for (int i = 0; i < 10; i++) { payer[i] = new payer(i * 10 + 10, (10000 * (i + 1))); // 根据方向计算 SSN 和金额 System.out.println(" Taxpayer SSN: " + payer[i].getSSN() + " Income: " + payer[i].getmoney());
如果我从 1 开始数组,我会得到一个错误。如果我不添加付款人(i)的“+ 10”部分,我会得到 SSN:0 收入 10000。
这种方法有效,但想知道是否有更好的方法来做到这一点。