gpt4 book ai didi

Java:收银机

转载 作者:行者123 更新时间:2023-12-02 06:29:50 25 4
gpt4 key购买 nike

我正在为圣诞树构建一个收银机应用程序。我希望能够进行多个事务,这样我就可以跟踪正在进行的树的数量。问题是我可以做一笔交易,然后就结束了。我考虑过使用 while 循环,但也许我做错了,因为它创建了一个无限循环。我能做什么?

import java.util.Scanner;
public class PosTester
{

public static void main(String[] args)
{

Scanner in = new Scanner(System.in);
POS register = new POS();
boolean done = false;

while (!done)
System.out.println("Please enter price of tree: ");
double purchase = in.nextDouble();

System.out.println("Is order complete? Type: Y/N");
String choice = in.next();


if (choice.equalsIgnoreCase("y"))

{
System.out.println("Your total is: " + purchase);
System.out.println("<--------------------------->");
System.out.println("Please enter payment amount: ");
double payment = in.nextDouble();
double change = payment - purchase;
System.out.println("Your change is: $ " + change);
int treeCount = 10; //lot contains 10 trees
treeCount--; // remove tree from inventory

if (treeCount == 5)
{
System.out.println("You're down to 5 Christmas Trees" );
}
}

else if (choice.equalsIgnoreCase("n"))
{
System.out.println("Please add another item");
System.out.println("Enter price of the next tree: ");
}



}

}

最佳答案

您的程序将无限期地打印请输入树的价格:

您意识到没有大括号的 while 只适用于下一行吗?

while (!done)
// do something
// do something else

上面的代码只会在无限循环中执行do some。你确实想要用花括号括住你想要循环的任何内容:

while (!done) {
// do something
// set done to true at some point, or break from the loop
}

一些提示:

  • 正确缩进代码有助于发现问题。大多数 IDE 应该为您自动格式化代码,并且您会注意到 while 之后的 System.out.println 的缩进方式与其余部分不同。

  • 如果您学习如何使用调试器,错误就会变得非常明显,因为在 while 之后您将永远不会跨出该行。

关于Java:收银机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20166127/

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