我有一个可以发送消息到服务器的Java客户端应用程序。我正在设置输入验证,以便客户端检测是否在'发送'按钮上发送了可接受的消息。Java - 在'catch'块中包含负值Double.parseDouble()
应接受的消息是任何可以解析为双倍或一定数量的选定字符串(由string.equals()方法识别)的消息。
我首先测试字符串,如果条件不符合,我尝试解析消息加倍(Double.parseDouble(message))。在这一点上,我有一个try/catch块,它可以识别任何失败的解析到加倍(意味着它必须包含字母,因此是无效的),它捕获NumberFormatException并允许用户重新输入消息。
我现在想让它的数字不能是负数,并且希望将其包含在同一个try/catch块中,以便任何负值都可以为用户提供相同的重新输入机会。
这是我目前有:
else
{
try
{
//convert number to double (monetary value)
bidAmount = Double.parseDouble(messageToServer);
//send to server with item code
output.println(selectedItemCode + bidAmount);
}
//item cannot turned to double
catch (NumberFormatException numfEx)
{
//inform user
fromServer.setText("Invalid Request!"
+ USER_PROMPT);
}
}
//clear input field for subsequent entry
toServer.setText("");
任何人都可以点我如何实施此规则的方向,而无需重复代码,如果在所有可能的?
谢谢, 马克
2016-03-04
marcuthh