Utilisation d'une boucle sentinel While en Java pour aller ajouter des options de forfait de téléphone portable
Je suis vraiment coincé sur celui-ci. Je dois créer un menu d'add-plan de plan de téléphone portable. Je dois ensuite écrire un segment de code java qui affichera un menu de ces options et une boucle pour permettre à l'utilisateur de choisir les options souhaitées jusqu'à ce que l'utilisateur entre un -1. C'est ce que j'ai jusqu'à présent:
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) {
}
}
}
Comment puis-je exactement faire en sorte que cela se produise et que dois-je mettre dans la boucle while? Merci!
0
Author: Alexander Lerma, 2014-10-12
1 answers
Vous pourriez faire quelque chose comme ça.
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;
}
Ou si vous devez utiliser sentinel:
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));
C'est une façon d'obtenir le prix total:
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);
0
Author: NerosE, 2014-10-13 20:17:45