当前位置: 首页 > 知识库问答 >
问题:

do while循环问题

翟黎明
2023-03-14

这段代码是为一个基本的杂货计算器的按钮。当我按下按钮时,一个输入对话框显示您在哪里输入您的商品价格。我遇到的问题是,我不知道如何获得do...while循环,使输入对话框在输入后弹出。

我希望它总是回来,除非用户选择ok与nothing或cancel,在这种情况下,循环应该中断并填充剩余的框。使用当前的代码,我必须每次手动按下按钮来恢复对话框。我一直在玩不同的while条件和if语句,但我似乎无法让它发挥作用。我是一个初学者所以很抱歉如果这是简单的,谢谢你的时间。

注意:我故意将while条件留为空,只是显示我需要它的地方。

  NumberFormat numForm = NumberFormat.getCurrencyInstance();
  double itemPrice;
  double tax;

  do {
    String s = (String)JOptionPane.showInputDialog("Enter item price:");
    if (s == null || s.equals("")) { 
        double subtotal = getPurchase();
        double total;
        tax = subtotal * .065;
        txtTax.setText(numForm.format(tax));
        total = tax + subtotal;
        txtTotal.setText(numForm.format(total));
    } else {
        try {
            itemPrice = Double.parseDouble (s);
            recordPurchase(itemPrice);
            txtPrice.setText(numForm.format(itemPrice));

            double subtotal = getPurchase();     

            txtSubtotal.setText(numForm.format(subtotal));
            int items = getItems();
            String totalItems = Integer.toString(items);
            txtItems.setText(totalItems);

        } // end try
        catch (NumberFormatException e) {
            JOptionPane.showMessageDialog(this, "You must enter numeric data only!");
        } // end catch
      } // end if Else
    }// end do
    while();

共有1个答案

田嘉慕
2023-03-14

您在while语句中添加了一个条件。如果条件为真,它将继续迭代。

String s = "";
do 
{
    s = (String)JOptionPane.showInputDialog("Enter item price:");
    if (s == null || s.equals("")) 
    {
        ...
    }
    ...
}while(s != null || !s.equals(""));
 类似资料:
  • 我是java的新手,我正在编写这个简短的程序,您可以在其中猜测1到10之间的数字。正确的数字存储为整数。如果您猜测较低的数字,它应该说“正确的数字较高”,如果您猜测较高,它应该说“正确的数字较低”。这是我所拥有的: 所以很明显这是行不通的,因为如果你输入一个更小的数字,它会跳到下一个数字,即使这个数字更大,它也是正确的。那么,我如何解决这个问题,让它检查两个语句呢?抱歉解释得不好。谢了。

  • 问题内容: 我有以下代码片段。 上面的代码用于生成5个链接,并将每个链接与警报事件绑定以显示当前链接ID。但这是行不通的。当您单击生成的链接时,它们都说“链接5”。 但是以下代码段符合我们的预期。 这里引用了以上两个片段。 但是它是如何工作的以及 关闭 是如何工作的,这些都是我无法理解的。为什么第一个不起作用而第二个却起作用?任何人都可以对魔术进行详细说明吗? 谢谢。 问题答案: 解释第一个示例:

  • 我已经创建了一个字符串数组,其中包含单词“磅”、“美元”和“欧元”,我想把这些标签放在旗帜的左边(为了用户应用程序的清晰性,因为不是每个用户都知道哪个货币属于哪个国家)。 我创建了一个循环,将创建一个标签,并将其分配到旗帜的左侧,它应该使一个"英镑"标签,然后一个"美元",然后一个"欧元"每次穿越Y轴南部,使他们与旗帜对齐然后,它将重置数组计数以返回到正确的字符串,沿着x轴移动并再次重复。然而,它

  • 我试图创建一个函数,使用不同的字段作为权重将数据分成十分之一,这样我就可以有相等的暴露桶。在这样做的时候,我创建了一个简单的例子,我试图进入3个桶。我确实在第一部分遇到了困难,那就是让这个while循环工作起来: 我的成绩是0,0 谢谢!

  • 想循环上传每个文件,循环第一次时isrepeat参数为true,拿到第一次循环上传成功后台返回的路径,作为往下循环的pathList,并且往下循环isrepeat参数为false,思路有点凌乱乱...

  • 问题内容: 我的Java应用程序在编译代码时遇到问题,它说它找不到符号 roomLength 。应用程序应该执行的操作是提示用户输入房间名称,然后如果该房间名称为“退出”,则必须关闭该程序。否则会提示输入房间的长度,宽度和高度。如果这些尺寸中的任何一个等于或小于零,它将再次提示输入尺寸。 这是我的主要方法。 提前致谢!;) 还有一个几乎与此问题类似的问题,只是它应该循环回到第一个提示,允许用户输入