此代码仅将输出显示为


  输入要添加的商品名称输入商品价格


虽然在输入双精度数之前应该先取名字。

newMenu = new Scanner(System.in);

System.out.println("Please select on of the menuItems \n 1. Premium \n 2. Discount \n 3. Standard ");
FileWriter file = new FileWriter(f,true);

//Create an instance of the PrintWriter class using output as the argument
PrintWriter abc = new PrintWriter(file);

if(newMenu.nextInt()==1){
    abc.println("Premium");
    System.out.println("Enter Name of the item you want to add");
    String name=newMenu.nextLine();
    abc.println(m1.getNoOfItems()+1+" "+name);

    System.out.println("Enter the price of item");
    double price=newMenu.nextDouble();
    abc.println(price);
    m1.setNoOfItems(m1.getNoOfItems()+1);
}

最佳答案

代替 :

if(newMenu.nextInt() == 1){


您可以这样使用newMenu.nextLine()

if (Integer.parseInt(newMenu.nextLine()) == 1) {





  虽然在输入双精度数之前应该先输入名称。


您不会得到这种情况,因为您不会消耗所有的行。

09-25 23:46