-2

配列を使用して納税者情報を保存するにはどうすればよいですか? 3 人の納税者の情報を入力したいとします。配列を使用して、名、姓、総収入などを 3 回格納するにはどうすればよいですか?

numTaxpayers = Integer.parseInt(JOptionPane.showInputDialog("How many taxpayers would you like to calculate taxes for?"));
do
{
    firstName = JOptionPane.showInputDialog("What is your first name?");
    lastName = JOptionPane.showInputDialog("What is your last name?");
    grossIncome = Double.parseDouble(JOptionPane.showInputDialog("What is your gross income?"));
    numChildren = Integer.parseInt(JOptionPane.showInputDialog("How many children do you have?"));
    taxDependency = numChildren * 3000;
    taxableIncome = grossIncome - taxDependency;
    name = firstName + " " + lastName;
    tax = calculateTax(taxableIncome);
    message += "First Name: " + firstName + "\nLast Name: " + lastName + "\nGross Income: $" + String.format("%.2f",grossIncome) + "\nNumber of Children: " + numChildren + "\nTax Due: $" + String.format("%.2f",tax) + "\n\n";
    count ++;
} while (count <= numTaxpayers);
JOptionPane.showMessageDialog(null,message);
4

4 に答える 4

2

おそらく、Taxpayerこれらのフィールドを持つクラスを定義してから、それらの配列、つまりTaxpayer[]. List<Taxpayer>おそらく、またはそのようなものを使用したほうがよいでしょう。柔軟性が高まります。

于 2013-10-24T17:55:28.160 に答える
1

オブジェクトの多次元配列または長さ 3 * 納税者数の配列のいずれかを使用できます。しかし、より良いオプションは、TaxPayer クラスを作成し、それを配列 (Taxpayer[]) またはコレクション (コレクション) に格納することです。

于 2013-10-24T17:56:13.990 に答える
0

次のように TaxPayer というクラスを作成します。

class TaxPayer{
    private String firstName;
    private String lastName;
    ...
}
...
do
{
    firstName = JOptionPane.showInputDialog("What is your first name?");
    lastName = JOptionPane.showInputDialog("What is your last name?");
    grossIncome = Double.parseDouble(JOptionPane.showInputDialog("What is your gross     income?"));
    numChildren = Integer.parseInt(JOptionPane.showInputDialog("How many children do you have?"));
    taxDependency = numChildren * 3000;
    taxableIncome = grossIncome - taxDependency;
    name = firstName + " " + lastName;
    tax = calculateTax(taxableIncome);
    message += "First Name: " + firstName + "\nLast Name: " + lastName + "\nGross Income: $" + String.format("%.2f",grossIncome) + "\nNumber of Children: " + numChildren + "\nTax Due: $" + String.format("%.2f",tax) + "\n\n";
    arr[count] = new TaxPayer(firstName, lastName, ...);
    count ++;
} while (count <= numTaxpayers);
于 2013-10-24T18:00:14.393 に答える