EDIT: Code complet pour les personnes qui en ont besoin: https://hastebin.com/tovazutuni.csJava: Comment modifier la valeur d'une variable en dehors d'un commutateur? (Juste lire le post)
ok donc im travaillant sur un grand magasin burger défi, mais pour faire simple, voici un problème similair im face:
public class Burger {
private double priceWithAdditions = 5.00;
private double price = 5.00;
private String addition1;
private double addition1Price;
switch(burgersAdditionScanner()){
case "mayo":
this.addition1 = "Mayo";
this.addition1Price = 0.40;
this.priceWithAdditions += this.addition1Price;
System.out.println("Added Additions " + this.addition1 + " for the price of $" +this.addition1Price);
break;
default: System.out.println("Get Out");
Plus tard dans le code, j'ai une méthode pour imprimer la réception, mais les valeurs des variables modifiées à l'intérieur du commutateur ne mettent pas à jour à l'extérieur de celui-ci:
public void Receipt() {
System.out.println("You Bought " + this.name + " burger for the price of $" + this.price + " with the following \nAdditions:");
if(this.addition1 != null) {
System.out.println("Addition " + this.addition1 + " for $" + this.addition1Price);
}
System.out.println("The final price is " + this.priceWithAdditions); }
Compte tenu des valeurs de addition1 et priceWithAdditions n'a pas changé dans le cas, l'addition 1 est nulle et priceWithAdditions est toujours 5.00 au lieu de 5.40. Est-ce que quelqu'un sait comment faire la mise à jour des valeurs de ces variables à l'intérieur du commutateur. Si vous pouvez me aider Id vraiment l'apprécier, s'il vous plaît et merci
sortie de la console: (Il y a un scanner pour que je puisse saisir mes choix)
add addition 1
Choose Addition 1
Lettuce - $0.50
Cheese - $1.00
Ketchup - $0.20
Mayo - $0.40
mayo
Added Addition Mayonaise for the price of $0.4
Add Additions or none
Add Addition 1
Add Addition 2
Add Adition 3
Add Adition 4
Receipt
receipt
You Bought Amer's Booty burger for the price of $5.0 with the following
Additions:
The final price is 5.0
Get Out
Vous devez formater votre code – Steephen
Vous ne semblez ajouter aucun de vos ajouts à 'this.priceWithAdditions'. –
@ElliottFrisch Si vous regardez dans le cas "mayo", j'ai écrit this.priceWithAdditions + = this.addition1Prix; (qui est fondamentalement la même chose que this.priceWith Additions = this.priceWithAdditions + this.addition1Price) Le prix addition1 est 0.40, donc il devrait imprimer 5.40 non 5.00, mais il continue à revenir à 5.00 –