大学でJavaテストを終えたばかりですが、特定の質問に間違って答えたことを知っています。助け/説明をお願いします。
質問は次のとおりです。
誰かの収入を受け取り、税金を計算する方法を実装します。その人の収入が7500未満の場合、税金=0です。その人の収入が7501から45000の場合、税金= 20%から7500を差し引いたもので、免税となります。最後に、その人の収入が45001を超える場合、税金= 40%、20%の範囲内の収入を差し引いた後、免税である7500を差し引きます。
時間が足りなくなったので、以下の例のように、収入と税金の括弧を示す基本的なifelseステートメントを実行しました。
public static double incomeTax(double income){
if(income <= 7500){
income = income * 0;
}
else if(income >= 7501 && income <= 45000){
income = income * 0.8;
}
else(income >= 45001){
income = income * 0.6;
}
return income;
}
コードが正しくないことはわかっていますが、テストが終わりに近づいたので、ifelseステートメントのマークを取得することを期待してコードを試してみました。
ここで助けていただければ幸いです。
ありがとうございました。
素晴らしいフィードバックの後、これは私が戻ってきたものです(たくさんの助けを借りて!!:])...
import java.util.Scanner;
public class TaxableIncome
{
public static void main(String[] args){
netIncome();
}
public static double netIncome() {
double income = 0;
Scanner in = new Scanner(System.in);
System.out.print("Enter income: ");
income = in.nextDouble();
System.out.println();
double tax1 = 0;
double tax2 = 0;
double totalTax = tax1 + tax2;
// high income bracket
if (income > 45000) {
double part1 = income - 45000; // part = income - 45000
tax1 += part1 * 0.4; // tax = tax + part * 0.4
System.out.println("High Tax Band - Greater than 45000: " + tax1);
}
// medium income bracket
if (income > 7500) {
double part2 = income - 7500;
tax2 += part2 * 0.2;
System.out.println("Medium Tax Band - Greater than 7500: " + tax2);
}
System.out.println("Total Tax = " + (tax1 + tax2));
// tax for low income is zero, we don't need to compute anything.
return totalTax;
}
}