0
votes

J'essaie de créer un code qui demande à l'utilisateur de choisir parmi l'un des produits et d'ajouter la quantité dont il a besoin mais je suis bloqué?

C'est le code. J'ai vraiment du mal avec ça, peu d'aide sera très appréciée, merci d'avance!

package online.market;

import java.util.HashMap;
import java.util.Scanner;  

public class OnlineMarket {
        
public static void main(String[] args) { 
    System.out.print("Products\n");

    HashMap<String, Double> products = new HashMap<>();
        
    Scanner product = new Scanner(System.in);  

    products.put("Computer", 999.99);
    products.put("Airpods", 129.30);
    products.put("TV", 129.30);
    products.put("Playstation 5", 569.70);
    System.out.println(products);

    String name = product.nextLine();
    System.out.println("Which product would you like to choose?");
}


1 commentaires

vous devez imprimer la question avant d'attendre l'entrée product.nextLine(); vous pouvez ensuite imprimer le nom pour avoir une idée de ce qui se passe.


3 Réponses :


1
votes

Bien continuer votre code avec ceci:

Scanner s = new Scanner(System.in);
String option = s.next();
while (!(option.equals("option1") || option.equals("option2"))){
        System.out.println("Wrong input please try again");
        option = s.next();
 }
System.out.println("How much"+option+"you want?");
    int q = s.nextInt();
    while (q<0){
        System.out.println("Wrong input please try again");
        q=s.nextInt();
    }
    

Bien sûr, la chaîne "option" est l'entrée de l'utilisateur que vous attendez, vous pouvez également utiliser une boucle pour vous assurer que l'utilisateur saisira l'une de vos options comme ceci:

Scanner s = new Scanner(System.in);
String option = s.next();
System.out.println("How much"+option+"you want?");
int q = s.nextInt();
   
    


2 commentaires

Merci beaucoup pour l'aide !


Merci! Veuillez envisager d'accepter ou de voter pour ma réponse si cela a été utile pour que la communauté sache que le problème est résolu ou mettez à jour votre question pour tout autre problème que vous avez rencontré



0
votes

Quelque chose comme ça finirait votre code. Il est difficile de dire exactement ce que vous voulez qu'il fasse.

 public static void main(String[] args) { 
    System.out.print("Products\n");
    HashMap<String, Double> products = new HashMap<>();
    Scanner product = new Scanner(System.in);  

    products.put("Computer", 999.99);
    products.put("Airpods", 129.30);
    products.put("TV", 129.30);
    products.put("Playstation 5", 569.70);
    System.out.println(products);

    System.out.println("Which product would you like to choose?");
    String name = product.nextLine();

    System.out.println("How much would you like?");
    int count = product.nextInt();

    System.out.println("Total Cost: "+products.get(name) * count);
}


1 commentaires

Merci J'essaie juste de demander à l'utilisateur de choisir un produit, puis de demander à l'utilisateur d'entrer la quantité dont il a besoin pour ce produit



2
votes

essaye ça :

public static void main(String[] args) {
    System.out.print("Products\n");

    HashMap<String, Double> products = new HashMap<>();

    Scanner product = new Scanner(System.in);

    products.put("Computer", 999.99);
    products.put("Airpods", 129.30);
    products.put("TV", 129.30);
    products.put("Playstation 5", 569.70);
    System.out.println(products);

    System.out.println("Which product would you like to choose?");
    String name = product.nextLine();

    Double price = products.get(name);
    if (price != null) {
        System.out.println("enter quantity :");
        int n = product.nextInt();
        System.out.println("you order " + n + " x " + name + "   , Total : "+n*price);
    } else {
        System.out.println("sorry this product not exist");
    }
}


2 commentaires

Merci, c'est vraiment utile!


Salut @LyubomirIvailovMarkov si cette réponse ou une réponse a résolu votre question, veuillez envisager de l'accepter en cliquant sur la coche.