다음은 과제 코드입니다. 부울 플래그가 제대로 작동하지 않는 것 같습니다. 내가 알아 내려고 할 때, 모든 이름이 할인을 받거나 이름이 할인을 얻지 못합니다. Mike 또는 Diana의 이름을 명확히하기 위해서는 할인을해야합니다.내가 무엇을 잘못하고 있는지 확실하지 않습니다 (부울 플래그)
String firstName; //user's first name
boolean discount = false; //flag, true if user is eligible for discount
int inches; //size of the pizza
char crustType; //code for type of crust
String crust; //name of crust
double cost = 12.99; //cost of the pizza
final double TAX_RATE = .08; //sales tax rate
double tax; //amount of tax
char choice; //user's choice
String input; //user input
String toppings = "Cheese "; //list of toppings
int numberOfToppings = 0; //number of toppings
//prompt user and get first name
System.out.println("Welcome to Mike and Diane's Pizza");
System.out.print("Enter your first name: ");
firstName = keyboard.nextLine();
if (firstName == "mike" || firstName == "diana" || firstName == "Mike" || firstName == "Diana" ||
firstName == "MIKE" || firstName == "DIANA")
{
discount = true;
}
if (discount = true)
{
cost -= 2.0;
System.out.println ("You are eligible for a $2 discount.");
무엇이 잘못 되었나요? – PeterK
문자열 comparisons 이외에,'if (discount = true)'를'if (discount == true)'로 대체해야합니다. 첫 번째는 변수'discount'에 값을 할당하고, 두 번째는 comparaison입니다. – AntonH
@SotiriosDelimanolis 문자열 비교가 유일한 문제는 아닙니다. –