как заставить мой код продолжать запрашивать ввод имен из массива, пока не будет введена остановка - PullRequest
1 голос
/ 26 мая 2020

Мне нужно, чтобы мой код продолжал запрашивать ввод имен цветов (из опций в моем массиве) до тех пор, пока не будет введено «стоп», имейте в виду, что я работаю с параллельным массивом, который также дает мне цены на цветы . в конце мне нужно ввести все цветы. спасибо за помощь.

   public static void main(String[] args) {
        String[] flowers = {"petunia", "parse", "rose", "violet", "daisy"};
        double[] cost = {.50, .75, 1.50, 1.00, .80};
        System.out.println("Please enter a name of one flower ex.");

        for (String f : flowers) {
            System.out.print(f + ",");
        }
        System.out.println("");
        Scanner s1 = new Scanner(System.in);
        System.out.print("please enter your flower :  ");
        String flow;
         String stop = "stop";
        flow = s1.nextLine();
        System.out.println("the flower you chousse si " + flow);

        for (int i = 0; i < flowers.length; i++) {
            double d = cost[i];
            {
                if (flow.equalsIgnoreCase(flowers[i])) {
                    System.out.println("the flowers price " + cost[i]);
                }
              //  else (flow.equalsIgnoreCase(stop)){
                    System.out.println("your total is ");
                }

            }

        }

        // TODO code application logic here
    }

}         

Ответы [ 2 ]

0 голосов
/ 26 мая 2020

Если вы используете Map.of, String.join, Map.containsKey и Map.get, вы получите более лаконичный Java код. См. Ниже.

public static void main(String[] args) {
    var flowers = Map.of("petunia", .50, "parse", .75, "rose", 1.50, "violet", 1.00, "daisy", .80);
    System.out.println("Please enter a name of one flower ex.");
    System.out.print(String.join(", ", flowers.keySet()));

    Scanner s1 = new Scanner(System.in);
    double total = 0.0;

    String flow;
    do {
        System.out.print("\nplease enter your flower :  ");
        flow = s1.nextLine();
        var f = flow.toLowerCase();
        if (flowers.containsKey(f)) {
            var cost = flowers.get(f);
            System.out.println("the flowers price " + cost);
            total += cost;
        }
    } while (!flow.equals("stop"));

    System.out.println("\nyour total is " + total);
}
0 голосов
/ 26 мая 2020
• 1000
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...