if 陳述句的內容與我的問題無關,我已經盡可能多地洗掉了無關緊要的內容。
我真的很難理解我需要做什么才能讓方法getNetSalary回傳netSalary變數的值。
我想我需要實體化一個物件以使其具有“可回傳”的值,但是無論我閱讀了多少 YouTube 視頻和其他論壇帖子,我都無法理解它。
package mortgage;
import java.util.Scanner;
public class MortgageDecision {
public static void main(String[] args) {
double grossSalary;
Scanner input = new Scanner(System.in);
System.out.print("Gross Annual Salary: £");
grossSalary = input.nextDouble();
}
public static double getNetSalary(double grossSalary) {
double netSalary;
double taxFreeAllowance = 12500;
double taxFreeDeduction = 0;
double tax = 0;
if (grossSalary > 100000) {
taxFreeDeduction = (grossSalary - 100000) / 2;
}
if (taxFreeDeduction > 12500) {
taxFreeDeduction = 12500;
}
taxFreeAllowance = taxFreeAllowance - taxFreeDeduction;
if (grossSalary <= 50000) {
tax = (grossSalary - taxFreeAllowance) * 0.2;
} else if (grossSalary <= 100000) {
tax = ((grossSalary - 50000) * 0.3)
((grossSalary - taxFreeAllowance
- (grossSalary - 50000)) * 0.2);
} else if (grossSalary > 100000) {
tax = ((grossSalary - 100000) * 0.4) 15000
((50000 - taxFreeAllowance) * 0.2);
}
if (tax < 0) {
tax = 0;
}
netSalary = grossSalary - tax;
return netSalary;
}
uj5u.com熱心網友回復:
您想在主方法中呼叫 getNetSalary 方法,如下所示:
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("Gross Annual Salary: £");
double grossSalary = input.nextDouble();
System.out.println(String.valueOf(grossSalary);
double netSalary = getNetSalary(grossSalary);
System.out.print("Net salary: £");
System.out.println(String.valueOf(netSalary);
}
以及一些關于 Java 程式結構的提示:
- 您似乎使用 C/C 編程風格,通常在 Java 中,您不需要在頂部宣告所有使用的變數。
- 這就是為什么我會行內
netSalary并向下移動宣告tax - 您
taxFreeAllowance在方法內部宣告并且沒有在內部覆寫它。您可能希望將其提取為常量靜態欄位。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/354184.html
