0

私は本当にこれにこだわっています。携帯電話プランのアドオンのメニューを作成する必要があります。次に、これらのオプションのメニューを表示し、ユーザーが -1 を入力するまで目的のオプションを選択できるようにループする Java コード セグメントを作成する必要があります。これは私がこれまでに持っているものです:

import java.util.Scanner;


public class CellPhone {

public static void main(String[] args) {
    //new array
    String [] plans = new String[4];

    plans[0] = "a. 200 or less text messages a month: $5.00";
    plans[1] = "b. Additional line: $9.99";
    plans[2] = "c. International calling: $3.99";
    plans[3] = "d. Early nights and weekends: $16.99";

    System.out.println("Here are your plan options: ");

    //outputs the contents of the array
    for(int i = 0; i < 4; i++) {
        System.out.println(plans[i]);
    }

    // Sentinel loop for adding options
    final String SENTINEL = "-1";
    String choices = plans[0];
    Scanner scanner = new Scanner(System.in);
    System.out.println("What would you like to add to your plan (options are a,b,c, or d. Enter -1 when you are finished):  ");
    String yourChoice = scanner.nextLine();
    while (yourChoice != SENTINEL) {




  }

 }

} 

これを実現するにはどうすればよいですか? while ループの中に何を入れる必要がありますか? ありがとう!

4

1 に答える 1

0

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

while(true) {
    System.out.println("What would you like to add to your plan (options are a,b,c, or d. Enter -1 when you are finished):  ");
    String yourChoice = scanner.nextLine();
    if(yourChoice.equals(SENTINEL))
        return;
}

またはセンチネルを使用する必要がある場合:

do {
        System.out.println("What would you like to add to your plan (options are a,b,c, or d. Enter -1 when you are finished):  ");
        yourChoice = scanner.nextLine();
    } while (!yourChoice.equals(SENTINEL));

これは、合計価格を取得する 1 つの方法です。

double price = 0.0;
do {
    System.out.println("What would you like to add to your plan (options are a,b,c, or d. Enter -1 when you are finished):  ");
    yourChoice = scanner.nextLine();
    switch (yourChoice) {
        case "a":
            price += Double.parseDouble(plans[0].substring(plans[0].length()-4, plans[0].length()));
            break;
        case "b":
            price += Double.parseDouble(plans[1].substring(plans[1].length()-4, plans[1].length()));
            break;
        case "c":
            price += Double.parseDouble(plans[2].substring(plans[2].length()-4, plans[2].length()));
            break;
        case "d":
            price += Double.parseDouble(plans[3].substring(plans[3].length()-5, plans[3].length()));
            break;
    }
} while (!yourChoice.equals(SENTINEL));

System.out.println("Total price: " + price);
于 2014-10-11T22:44:46.427 に答える