私はJavaクラスを受講しており、次のような割り当てを行う必要がありました。
Purchase という名前のクラスを作成します。各購入には、請求書番号、販売額、消費税額が含まれます。請求書番号と販売金額の set メソッドを含めます。売上高の set() メソッド内で、売上税を売上高の 7.5% (Purchase クラスの静的フィールドを使用) として計算します。また、適切にフォーマットされた出力表示で購入の詳細を表示する表示メソッドも含めます。ファイルを Purchase.java として保存します。プログラムが動作し、出力がきれいになるまで、プログラムをコンパイルして実行します。コース ドキュメントの説明に従って必要なドキュメントを追加し、.java ファイルをこの課題に添付します。
私の解決策は次のとおりです。
import java.util.*;
public class Purchase {
//Properties of Purchase class - static
private static int invoiceNumber;
private static double salesAmount;
private static double salesTax;
//setter for invoiceNumber
public static void setInvoiceNum(int invNo){
invoiceNumber = invNo;
}
//setter for salesAmount
public static void setSalesAmount(double salesAmnt){
salesAmount = salesAmnt;
salesTax = 0.075*salesAmnt;
}
//public static method to display purchase info
public static void displaySalesInfo(){
System.out.println("Invoice Number: " + Purchase.invoiceNumber);
System.out.println("Sales Amount: " + Purchase.salesAmount);
System.out.println("Sales Tax: " + Purchase.salesTax);
}
//main method that makes use of the static properties and display method
public static void main (String[] args) {
//ask user to input purchase details
Scanner scan = new Scanner(System.in);
System.out.println("Enter your invoice Number:" );
int inv = scan.nextInt();
System.out.println("Enter your Sales Amount:");
double sales = scan.nextDouble();
// send the user submitted purchase details to the setter methods and call display method
setInvoiceNum(inv);
setSalesAmount(sales);
displaySalesInfo();
}
}
そして、私の先生のコメントは次のとおりです。 . 静的変数 salesTax を設定しましたが、その値はインスタンス メソッド パラメータに基づいています。これは論理エラーです. 税率のみを静的にする必要がありました. 他のすべてのフィールドを静的にする必要はありません.購入したものに関係なく同じです。送信された割り当てコードは、静的フィールドの概念を理解していないことを示しています。」
わからないだけ??彼は、私は静的フィールドを理解していないと言います.. 私はそんなに無知ですか? これは単に恥ずかしい..いくつかの光を当ててください.