我正在制作电影商店程序,并且在如何制作诸如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; ...
chooseGenre = scan.next()
必须更改为chooseGenre = scan.nextLine()
,如果您要分析其中带有空格的文本。