0

各質問の後にユーザーが続行するかどうかを尋ねられるJavaアプリケーションを作成する必要があります。

例:あなたの名前は何ですか?続けたいですか?Y / Nどのピザを注文しますか?

これまでのところ、私のコードは次のようになっていますが、ifループに何を配置すればよいかわかりません

public class Mod2P5{
public static void main(String[]args){

  while(true){


 Double cost = 0.00;
 String cont = "Y";
 /*Start of Menu*/
String pizza_item[] = new String [13];
pizza_item [0] = "Hawian";
pizza_item [1] = "Meat Lovers";
pizza_item [2] ="Vege";
pizza_item [3] = "Supreme";
pizza_item [4] = "Pepironi";
pizza_item [5] = "God Father";
pizza_item [6] ="Mr Wedge";
pizza_item [7] = "Double Bacon Cheese Burger";
pizza_item [8] = "Mustard Beef and Bacon";
pizza_item [9] ="Chilly Beef";
pizza_item [10] = "BBQ";
pizza_item [11] = "Sweet and Sour";
pizza_item [12] = "Prawn";
Double pizza_price[] = new Double [13];
pizza_price [0] =8.50;
pizza_price [1] = 8.50;
pizza_price [2] =8.50;
pizza_price [3] = 8.50;
pizza_price [4] =8.50;
pizza_price [5] = 8.50;
pizza_price [6] =8.50;
pizza_price [7] =8.50;
pizza_price [8] = 13.50;
pizza_price [9] =13.50;
pizza_price [10] = 13.50;
pizza_price [11] =13.50;
pizza_price [12] = 13.50;
 /*End of Menu*/ 


int pickup_delivery = readInt("Press 1 for delivery or 2 for pickup.");
cont = readString("Press Y to continue or N to cancel.");
String name = readString("What is your name");
cont = readString("Press Y to continue or N to cancel.");

  System.out.print(pickup_delivery + name + cost);

  if (cont.equalsIgnoreCase("Y")){
        break; 
// goes to beginning of while loop
  }
  }


}


/*reads and returns an integer from the keyboard*/
public static int readInt(String prompt){
System.out.println(prompt);
java.util.Scanner keyboard = new java.util.Scanner(System.in);
return keyboard.nextInt();
}
/*reads and returns a String from the keyboard*/
public static String readString(String prompt){
System.out.println(prompt);
java.util.Scanner keyboard = new java.util.Scanner(System.in);
return keyboard.nextLine();
}
/*reads and returns a double from the keyboard*/
public static double readDouble(String prompt){
System.out.println(prompt);
java.util.Scanner keyboard = new java.util.Scanner(System.in);
return keyboard.nextDouble();
}

}
4

3 に答える 3

2

あなたを滑らせているかもしれない1つのこと -

if (cont=="n"){ //<-- this wont work 
  System.exit();
}

オブジェクトを比較するときは、演算子ではなくメソッドStringを使用する必要があります。演算子は参照を比較します。たとえば、それはコンテンツを意味しません。 equals()====String

@Zong Li は、このコンテキストでより良いオプションについて言及しています。これを使用equalsIgnoreCase()すると、プログラムがよりユーザーフレンドリーになります。

于 2012-07-30T03:42:22.700 に答える
2

次のようなことができます。

while(true) {
    // initialization

    int pickup_delivery = readInt("Press 1 for delivery or 2 for pickup.");
    cont = readString("Press Y to continue or N to cancel.");

    if (cont.equalsIgnoreCase("n"))
        continue; // goes to beginning of loop; restarts the questionaire
}

ループから抜け出すには、 を使用するだけbreak;です。

于 2012-07-30T03:14:49.227 に答える
-1

在宅ワークなので、オブジェクトを理解する最も簡単な方法であるHead First Design Patternで Design Pattern を学んでください。(または他の本やチュートリアル)

彼らはピザについて話し、良い習慣を身につける方法を教えてくれました...そして、再起動がどのように機能するかを発見するでしょう!

于 2012-07-30T06:53:29.920 に答える