嘿,我必须使用 JOptionPane 向用户询问购买金额,如果他们输入超过小数点后两位、任何内容、字符或多于小数点,程序必须显示错误消息并停止。
我该怎么做?
我不希望有人为我编写程序,只是一个解释我将如何做的链接
如果用户输入“12.526”或“”或“1.3.25”或“abc”,我希望程序显示错误消息并停止。
由于这似乎是一个令人困惑的问题,或者我问错了,这些是我的老师的指示:
String PurchaseAmount = JOptionPane.showInputDialog(null, String.format("What is your purchase amount?"));
double PurchaseTotal = Double.parseDouble(PurchaseAmount);
String PaymentAmount = JOptionPane.showInputDialog(null, "What is the payment amount?");
double PaymentGiven = Double.parseDouble(PaymentAmount);
检查输入格式是否正确的第一部分就像你所做的那样:使用 Double.parseDouble()
将字符串
转换为双精度
。执行此操作时,可以使用 try
/catch
块来捕获 NumberFormatException
,如果输入根本无法转换为浮点数,就会发生这种情况。
但是你也被要求检查小数点后不超过两位数字。这有点棘手。我建议你使用String.indexOf()
来查找输入字符串中的小数点,然后检查该点后不超过两个字符(我包括数字)。
还有其他选择,但如果你不熟悉它们,它们可能更棘手:
注意:不要用< code>double尝试第二种方法。一个< code>double不能总是精确地表示十进制数,所以舍入到两位小数并检查它是否不变可能会给你假阳性(在没有错误的地方看起来是错误)。
我有一些代码,其中多个方法使用键盘,并在主方法中连续调用。我正在做的练习特别要求使用4种不同的方法,所以我不能把它们放在一起。最初,我用键盘。在每个方法的末尾关闭(),但当第二个方法运行时,无论调用顺序如何,这都会导致NoTouchElementException。通过卸下键盘。close(),代码现在可以工作了,但是我现在收到了资源泄漏的警告,因为键盘没有关闭。有人能告诉我一种关闭输入而不出错的
我正在尝试创建一个检查整数的函数,并将继续循环,直到用户正确输入17或更高的整数。但是,如果我输入错误的输入,例如“K”或“
问题内容: 我有一个简单的表格。所有组件和状态都保存在Page组件中。有2个显示标题和3个输入字段。第一个输入应该是文本,第二个和第三个输入应该是整数。当用户输入错误的数据类型时,我想在输入字段旁边弹出一条错误消息。我的问题与React.JS的最佳做法有关 谁认为该值有效?我想输入字段的唯一工作就是将值引导回到保持状态的组件,这是否意味着只有Page可以确定值是否有效? 然后应该如何显示弹出窗口?
问题内容: 我喜欢Typescript等中提供的新功能的平坦性。但是,我不确定我是否必须在块的外部声明要输入的变量以便以后使用,这一点我不确定。像这样: 如果我错了,请纠正我,但是似乎最好的做法是不要在主体中放置多行业务逻辑,因此,我只剩下在块外声明,在块中分配,以及然后使用它。 在这种情况下,最佳做法是什么? 问题答案: 似乎最好的做法是不要在try主体中放置多行业务逻辑 其实我会说是的。通常,
问题内容: 说我有以下代码: 现在,如果抛出,我该如何捕捉?一种方法是提供自己的实现,并为其中的设置custom 。另一种方法是将其包装为包含try-catch -block 的本地(匿名)。也许还有其他类似的解决方法。但是…以某种方式感觉很脏,我觉得这不应该那么复杂。有没有干净的解决方案? 问题答案: 干净的解决方法是使用而不是。这将返回一个,您可以用来检索结果或任务异常:
我有一个表单,在这个表单中,我希望处理文本输入上的更改事件,但在按下键触发更改时做出反应(与本机JS相反,当输入字段失去焦点时触发更改事件)。 有没有反应的方法来做我想做的?