gpt4 book ai didi

java - 仅在用户输入给出"is"后才结束循环 - Java

转载 作者:太空宇宙 更新时间:2023-11-04 09:24:08 24 4
gpt4 key购买 nike

我正在尝试创建一个应用程序来接受汉堡包订单并添加附加内容。我希望汉堡的添加基于扫描仪输入,但我收到错误“线程“main”java.util.NoSuchElementException 中的异常:未找到行”。如果有人能帮助我理解我哪里出了问题,我将不胜感激。我是 Java 新手,请耐心等待。

我的代码:

public class Hamburger {

private String name;
private double price;
private String breadRoll;
private String meat;


private String addition1Name;
private double addition1Price;

private String addition2Name;
private double addition2Price;

private String addition3Name;
private double addition3Price;

private String addition4Name;
private double addition4Price;


public Hamburger(double price, String meat) {
this.name = "Basic Hamburger";
this.price = price;
this.breadRoll = "White Bread";
this.meat = meat;
}

public void checkingAdditionCount(){

Scanner scanner = new Scanner(System.in);

System.out.println("Do you want to add more items?");
String answer = scanner.nextLine().toLowerCase();

boolean isCont = true;

while (isCont && scanner.hasNextLine()){
if (answer.equals("y")){
additions();

} else if (answer.equals("n")){
addAllItemsAndBill();
isCont = false;
scanner.close();

} else {
System.out.println("Please enter valid choice");
additions();
}
}




public void addAllItemsAndBill() {
System.out.println("Your total bill amount is " + this.price);

}

public void additions(){

Scanner scanner = new Scanner(System.in);


for (int count = 1; count < 5; count++){

System.out.println("Enter the addition name: ");
String additionName = scanner.nextLine();

System.out.println("Enter the addition price: ");
if (scanner.hasNextDouble()){
double additionPrice = scanner.nextDouble();
this.price += additionPrice;
}
scanner.nextLine();
checkingAdditionCount();

}
scanner.close();

this.addition1Name = name;
this.addition1Price = price;

}



public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public double getPrice() {
return price;
}

public void setPrice(double price) {
this.price = price;
}

public String getBreadRoll() {
return breadRoll;
}

public void setBreadRoll(String breadRoll) {
this.breadRoll = breadRoll;
}

public String getMeat() {
return meat;
}

public void setMeat(String meat) {
this.meat = meat;
}
}

最佳答案

尝试代码,例如:

while(true) {
if(scanner.nextLine().equals("y")) break;
}

它将循环直到用户输入不等于“y”:)

关于java - 仅在用户输入给出"is"后才结束循环 - Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57941968/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com