我正在编写一个程序,从账单和小费率中汇总小费和总计。
public void takeUserInput() {
Scanner sc = new Scanner(System.in);
double billAmount;
int tipRate;
try {
System.out.print("What is the bill? ");
billAmount = sc.nextDouble();
System.out.print("What is the tip percentage? ");
tipRate = sc.nextInt();
tc.calculate(billAmount, tipRate);
} catch (InputMismatchException e1) {
String errorMessage = "Please enter a valid number for the ";
// errorMessage += billAmount or
// errorMessage += tipRate ?
}
我正在寻找一种找出哪个变量引发InputMismatchException的方法,因此可以将哪个变量名称添加到变量errorMessage中并打印到屏幕上。
变量不会引发异常,而是对变量赋值的右侧进行评估,因此在异常中没有任何信息可以说明将成功赋给哪个变量。
您可以考虑使用一种包含提示消息和重试的新方法:
billAmount = doubleFromUser(sc, "What is the bill? ", "bill");
哪里doubleFromUser
是:
static double doubleFromUser(Scanner sc, String prompt, String description){
while(true) { //until there is a successful input
try {
System.out.print(prompt); //move to before the loop if you do not want this repeated
return sc.nextDouble();
} catch (InputMismatchException e1) {
System.out.println("Please enter a valid number for the " + description);
}
}
}
对于int和double,您将需要一个不同的变量,但是如果您有更多的提示,从长远来看,您将可以节省。
我是JRakNet的创建者,JRakNet是一个网络库,它实现了适用于Java的最新协议RakNet的基础知识。我制作了这个库,这样我就可以为使用RakNet的Minecraft:携带版制作一个多人游戏服务器。 然而,我在服务器和客户端遇到的一个问题是处理程序的异常处理。每当发送无效数据包时,数据就会被错误读取,异常就会像正常情况一样被抛出。然而,我需要找到一种方法来找出导致异常的外部地址。 通常
问题内容: 我知道我可以使用以下技术找出Java中的变量是否为空: 如果->太多工作 ->它告诉我哪一行引发异常 手动使用调试器->太慢 考虑以下代码行: 我想知道是否有一种通用的方法来以编程方式找出是什么变量(而不仅仅是行)在特定的代码区域中引发了NullPointerException。在示例中,知道 问题答案: 由于有可能导致空指针异常而无需涉及变量: 我不得不说,没有通用方法可以将空指针异
本文向大家介绍如何找出触发了哪些JavaScript事件?,包括了如何找出触发了哪些JavaScript事件?的使用技巧和注意事项,需要的朋友参考一下 要查看触发了哪些JavaScript事件,请按照以下步骤操作。我们正在Google Chrome网络浏览器上触发事件: 打开谷歌浏览器,然后按 F12键打开“开发工具”。 现在转到“源”选项卡 转到右侧的事件监听器断点: 单击事件并与目标元素进行交
编辑似乎不可能在此刻归档一个问题。 我正在apache camel应用程序中使用log4j2。在骆驼中,可以通过这种方式配置文件名 编辑,非常容易在测试中重现: 它对美元{date:}至关重要--只有“data:now”起作用。所以这个问题完全独立于camel,但是camel使用了${date:...}几件事的模式。这里有一个重现问题的简单路线--异常将在骆驼设置阶段抛出--不需要测试代码--日志
问题内容: 我想找出在纯JavaScript中以跨浏览器兼容的方式按下了哪些字符键。 问题答案: “清除” JavaScript: jQuery的: