インポートjavax.swing.JOptionPane;
パブリッククラスBeerStoreBP{
プライベート文字列名。
プライベートダブルcustAge;
private double numBeers = 0;
プライベートダブルbeerDisc=0;
プライベートダブルビールタイプ=0;
プライベートダブルtheBeerBrand;
プライベートダブル合計=0;
プライベートダブルビール=0;
public void setAge(double theAge)
{
custAge = theAge;
}
public void setName(String theName)
{
name = theName;
}
public void setNumBeers(double theNumBeers)
{
numBeers = theNumBeers;
}
public void setBeerType(double theBeerType)
{
beerType = theBeerType;
}
public double getAge()
{
return custAge;
}
public String getName()
{
return name;
}
public double getNumBeers()
{
return numBeers;
}
public double calcNumBeersValid()
{
String numBeersStr;
while (numBeers < 3 || numBeers > 6)
{
numBeersStr = JOptionPane.showInputDialog("You must pick 3-6 " +
"beers");
numBeers = Double.parseDouble(numBeersStr);
}
return numBeers;
}
public double calcBeerPrice()
{
final double LAGIMRED = 1.90;
final double DESINIPA = 2.00;
final double BELBEBRN = 1.80;
final double SCHOATST = 2.50;
final double BOULFHSAISN = 2.75;
final double GANDANCPRTR = 1.75;
if (theBeerBrand == 1)
beer = LAGIMRED;
else if (theBeerBrand == 2)
beer = DESINIPA;
else if (theBeerBrand == 3)
beer = BELBEBRN;
else if (theBeerBrand == 4)
beer = SCHOATST;
else if (theBeerBrand == 5)
beer = BOULFHSAISN;
else
beer = GANDANCPRTR;
return beer;
public double calcBeerTotal()
{
String beerTypeStr;
double count = 1;
while (count <= numBeers)
{
beerTypeStr = JOptionPane.showInputDialog("Please choose between "
+ "these fine selections:\n1 - Lagunitas Imperial Red - " +
"$1.90\n2 - Deschutes Inversion IPA - $2.00\n3 - " +
"Bell's Best Brown Ale - $1.80\n4 - Schlafly's Oatmeal " +
"Stout - $2.50\n5 - Boulevard's Farmhouse Saison - $2.75"
+ "\n6 - Gandy Dancer Porter - $1.75");
beerType = Double.parseDouble(beerTypeStr);
beerType = theBeerBrand;
total += beer;
count++;
}
return total;
}
public double getBeerTotal()
{
double theTotal;
theTotal = total;
return theTotal;
}
public double calcBeerDisc()
{
if (numBeers == 6)
beerDisc = .10;
else if (numBeers >= 4)
beerDisc = .05;
else
beerDisc = .00;
return beerDisc;
}
public double calcFinalPrice()
{
double finalPrice;
finalPrice = total-(total * beerDisc);
return finalPrice;
}
ここにヌーブ、だから慈悲を流してください。上記のプログラムのポイントは、ビールの量を収集し(3〜6である必要があります)、顧客に各ビールの選択肢を提供し、ビールの合計量を計算し、割引を適用することです(ビールの数によって異なります)。非常に単純なものですが、私はレンガの壁にぶつかりました。
私の問題は、最終価格の計算にあります。calcBeerTotalメソッドからの何もcalcFinalPriceメソッドに渡されない理由を理解できないようです。私の出力には、最終価格ではなく、ビールの量が表示されます。
だから私の主な質問は:私は私のcalcメソッドのためにある種のセッターとゲッターメソッドが必要ですか?いくつかのsetterメソッドとgetterメソッドを試しましたが、最終的な価格がまだ得られていません(calcBeerDiscの上にあるメソッド)。私はプログラミングの知識が限られているので、私が書いたものよりも複雑にならないようにしてください。セッターやゲッター以外の場合は、配列などもよくわかりませんので、遠ざけてください。どんな助けでも大歓迎です!