使用Java和用户输入进行命令

问题描述 投票:0回答:1

我正在制作电影商店程序,并且在如何制作诸如buy Movie或info Movie信息之类的命令时受困

import java.util.Scanner;
import java.util.concurrent.TimeUnit;
import java.util.ArrayList;

public class Pricing {

     // TEST
static double Cost;
String DieHard_Name;
String DieHard_Info;
static double DieHard_Price = 6.99;
static boolean DieHard_incart;
// Test

static Scanner scan = new Scanner(System.in);

public static void main(String[] args) throws InterruptedException{



    // Start of the program
            ArrayList<String> Genre = new ArrayList<String>();
            Genre.add("Action");
            Genre.add("Horror");
            Genre.add("Documentary");

            System.out.println("Welcome to the movie store Please type the genre of movie you would like to"
                    + " browse");  
            System.out.println("Type 'Help' in the console for assistance");
            Genre.forEach(System.out::println); 



    // ArrayList for the action movies
    ArrayList<String> Action = new ArrayList<String>();
    Action.add("Die Hard");
    Action.add("Top Gun");
    Action.add("Whitehouse Down");
    Action.add("The Gentlemen");
    Action.add("Mission impossible");
    Action.add("John Wick");
    Action.add("Atomic Blonde");
    Action.add("Inception");
    Action.add("The Matrix");
    Action.add("Speed");

    // ArrayList for the Horror movies
    ArrayList<String> Horror = new ArrayList<String>();
    Horror.add("Us");
    Horror.add("It Chapter 2");
    Horror.add("Get Out");
    Horror.add("The Interior");
    Horror.add("It follows");
    Horror.add("The Ring");
    Horror.add("The Shinning");
    Horror.add("Scream");
    Horror.add("Alien");
    Horror.add("Nightmare on Elm Street");

    // ArrayList for Documentaries
    ArrayList<String> Documentary = new ArrayList<String>();
    Documentary.add("Free Solo");
    Documentary.add("13th");
    Documentary.add("Fyre");
    Documentary.add("Honeyland");
    Documentary.add("Strong Island");
    Documentary.add("Abducted in plain sight");
    Documentary.add("Man on Wire");
    Documentary.add("How to Survive a Plague");

    ArrayList<String> Help_pls = new ArrayList<String>();
    Help_pls.add("");



     // If the input doesn't match one of the options a "please try again message appears"

     String chooseGenre;
     Boolean isProgramRunning = true;

     while (isProgramRunning) {

         chooseGenre = scan.next();
        /* System.out.println("Loading."); 
         TimeUnit.SECONDS.sleep(1);
         System.out.println("Loading.."); 
         TimeUnit.SECONDS.sleep(1);
         System.out.println("Loading..."); 
         TimeUnit.SECONDS.sleep(1); */

         switch(chooseGenre) {
              case "Horror" :
                 System.out.println("you chose: Horror!"); 
                 Horror.forEach(System.out::println);
                 break;
              case "Action" :
                  System.out.println("you chose: Action!");
                  Action.forEach(System.out::println);
                 break;
              case "Documentary" :
                  System.out.println("you chose: Documentary!");
                  Documentary.forEach(System.out::println);
                  break;
              case "Help" :
                  System.out.println("You chose: Help");
                  Help_pls.forEach(System.out::println);

                  // THIS HERE
              case "Buy Die hard " :
                  if (DieHard_incart = false) {
                     System.out.println("Selected buy: Die hard "); 
                     Cost = 0 + DieHard_Price;
                     DieHard_incart = true ;
                  } else {
                      System.out.println("This movie is allready in your cart");
                  }
                     break;




              case "Exit":
                  isProgramRunning = false;
                  System.out.println("Program terminated");
                  break;
              default :
                 System.out.println("Please enter a Movie genre or usable command");
                 break;
           }

     }//ndloop

} //end 

  }

[当我用力键入“ Buy Die”时,会出现三遍“请输入电影类型或可用命令”我不知道是否整个时间都使用switch语句是否有效,或者是否会使我的程序运行缓慢

有没有一种方法可以解决此问题,或者有一种更简单的方法可以解决此问题?

我正在制作电影商店程序,并且在如何制作购买电影或信息电影导入java.util.Scanner之类的命令时受困;导入java.util.concurrent.TimeUnit;导入java.util.ArrayList; ...

java command java.util.scanner
1个回答
0
投票

chooseGenre = scan.next()必须更改为chooseGenre = scan.nextLine(),如果您要分析其中带有空格的文本。

© www.soinside.com 2019 - 2024. All rights reserved.