Very Beginner Java:Method无法识别传递给它的用户输入字符串

0 java string keyboard methods

可能重复:
如何比较Java中的字符串?
Java中的字符串比较......?

我正在研究我的问题,这是一个非常简单的问题......
基本的101购物车,产品清单硬编码(仅限实践问题 - 我明白这不是真正的做法)

我希望用户输入一个字符串 - 产品代码,然后从Description方法返回相关产品的描述

它返回一个0值,即方法中的if语句似乎没有识别用户输入的String.

硬编码的字符串工作 - 键盘输入字符串不是我难倒,但我想我只是缺少一些基本的东西

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;
}

} 
Run Code Online (Sandbox Code Playgroud)

gef*_*fei 10

问题是你==用来比较字符串.请equals改用.

if(ProdCode.equals("P4387"))Proddesc = "Little used helper monkey - 1 ";
Run Code Online (Sandbox Code Playgroud)

等等