この3つのクラスを使用するJavaプログラムを作成するタスクが与えられました。メインクラス、メニュークラス、コーヒークラス。今私はメニュークラスからコーヒークラスに価値を渡す必要があります。しかし、問題は私はちょうどJavaで新しいので、私はそれを行う方法を正確に知っていないです。Javaで値を渡す
CoffType値をCoffeeNameに渡します。 NumBagはNumberOfBagに値を渡します。
これは、メニュークラス(プログラマ定義されたクラス1)
import java.util.*;
public class Menu {
Scanner scan = new Scanner(System.in);
public String coffType;
public int numBag;
public void setCoffType() {
System.out.println("\t\tChoose Your Coffee");
System.out.println("\n[1] Arabica\tRM12.50 per bag");
System.out.println("\n[2] Robusta\tRM15.00 per bag");
coffType = scan.nextLine();
}
public void setNumBag() {
System.out.println("Enter amount you wish to buy");
numBag = scan.nextInt();
}
}
コーヒークラス(プログラマ定義されたクラス2)
public class Coffee{
private String coffeeName;
private double coffeePrice;
private double amountPay;
private int numberOfBag;
private double discount;
public Coffee() { // constructor
coffeeName = "unknown";
coffeePrice = 0.00;
amountPay = 0.00;
numberOfBag = 0;
discount = 0.00;
}
public double getCoffeePrice() {
if(coffeeName.equalsIgnoreCase("arabica")) {
coffeePrice = 12.50 * numberOfBag;
}
else if(coffeeName.equalsIgnoreCase("robusta")) {
coffeePrice = 15.00 * numberOfBag;
}
System.out.println("Price RM: " +coffeePrice);
return coffeePrice;
}
public double getDiscount() {
if(numberOfBag>0 && numberOfBag<=50) {
discount = coffeePrice*0;
}
if(numberOfBag>50 && numberOfBag<=100) {
discount = coffeePrice*0.10;
}
if(numberOfBag>100 && numberOfBag<=150) {
discount = coffeePrice*0.15;
}
if(numberOfBag>150 && numberOfBag<=200) {
discount = coffeePrice*0.20;
}
if(numberOfBag>200) {
discount = coffeePrice*0.25;
}
System.out.println("Discount RM: " +discount);
return discount;
}
public double getAmountPay() {
amountPay = coffeePrice - discount;
System.out.println("\nTotal Need To Pay RM: " +amountPay);
return amountPay;
}
}
である私はnumberOfBag
にcoffeeName
とnumbag
にcoffType
を渡したいです。どのようにこれらの値を変更できますか?
Coffe coffeOne = new Coffe(coffeName, amoutPay, numBag);
で:
public Coffee(String coffeeName, double amountPay, int numberOfBag) {
this.coffeeName = coffeeName;
this.amountPay = amountPay;
this.numberOfBag = numberOfBag;
}
MenuClassでは、ユーザーによって選択された値を持つオブジェクトのコーヒーをインスタンス化します:あなたが設定したいパラメータを受け取るコンストラクタを作成CoffeClassで
慣習に従い、属性名/変数の名前を小文字で始めるようにしてください; – azro
コンストラクタ、ゲッター、セッターを読み上げてください。 – user3437460
OOPのコンセプトを理解していますか?あなたはオブジェクトとインスタンスの概念を理解していますか? –