私は非常に単純な問題に取り組んでいます...
製品リストがハードコードされた基本的な101ショッピングカート(練習問題のみ-これが実際に行われる方法ではないことを理解しています)
ユーザーに文字列 (製品コード) を入力してもらい、関連する製品の説明を Description メソッドから取得してもらいたい
値 0 を返しています。つまり、メソッド内の if ステートメントが、ユーザーが入力した文字列を認識していないようです。
ハードコーディングされた文字列は機能します-キーボードで入力された文字列は機能しません私は困惑していますが、基本的な何かが欠けていると思います
import java.util.*;
class CW1ShoppingCart1_2ShowProdAndGetChoice
{
public static void main(String[] args)
{
/*PART 1 Offer catalogue and get user choice*/
System.out.println("ITEMS AVAIALBLE TODAY: \n");
System.out.print("P4383"+ "\t"+ CW1ShoppingCart1GetProductDetails.Description("P4383"));
System.out.println("\t"+ "$"+ CW1ShoppingCart1GetProductDetails.Price("P4383"));
System.out.print("P4385"+ "\t"+ CW1ShoppingCart1GetProductDetails.Description("P4385"));
System.out.println("\t"+ "$"+ CW1ShoppingCart1GetProductDetails.Price("P4385"));
System.out.print("P4387"+ "\t"+ CW1ShoppingCart1GetProductDetails.Description("P4387"));
System.out.println("\t"+ "$"+ CW1ShoppingCart1GetProductDetails.Price("P4387"));
System.out.println("\nTO START SHOPPING ENTER A PRODUCT CODE AND HIT RETURN \n");
Scanner in = new Scanner (System.in);
String ProdCode =in.nextLine();
System.out.println("You Chose: "+ CW1ShoppingCart1GetProductDetails.Description(ProdCode));
}
}
class CW1ShoppingCart1GetProductDetails
{
static String Description(String ProdCode)
{
String Proddesc;
if(ProdCode=="P4387")Proddesc = "Little used helper monkey - 1 ";
else if(ProdCode=="P4385") Proddesc = "Chilli chocolate - 100g ";
else if(ProdCode=="P4383") Proddesc = "State-owned Bank - real value - 1 entity ";
else Proddesc = "0";
return Proddesc;
}
static double Price(String ProdCode)
{
double ProdPrice;
if(ProdCode=="P4387") ProdPrice = 1200;
else if(ProdCode=="P4385") ProdPrice = 3.27;
else if(ProdCode=="P4383") ProdPrice = -0.08;
else ProdPrice = 0;
return ProdPrice;
}
}