【发布时间】:2014-10-20 20:03:04
【问题描述】:
如果有人输入单词以外的内容,我想使用 try and catch 语句。以我之前的经验,如果没有错误,是很难用的。如果有人输入一个数字,例如他们的名字,他们就没有错误。无论如何我可以使用 try and catch 语句吗?
try {
String firstName, middleInitial, lastName, Firstname;
char firstNameCase, middleInitialCase, lastNameCase;
firstName = firstNameInput.getText();
middleInitial = middleInitialInput.getText();
lastName = lastNameInput.getText();
char firstNameLetter = firstName.charAt(0);
firstNameCase = Character.toLowerCase(firstNameLetter);
char lastNameLetter = lastName.charAt(0);
lastNameCase = Character.toUpperCase(lastNameLetter);
char middleInitialLetter = middleInitial.charAt(0);
middleInitialCase = Character.toLowerCase(middleInitialLetter);
String firstNameFinal = Character.toString(firstNameCase);
String lastNameFinal = Character.toString(lastNameCase);
String middleInitialFinal = Character.toString(middleInitialCase);
String monogram = firstNameFinal+lastNameFinal + middleInitialFinal;
monogramOutput.setText("Your monogram is: " + monogram);
} catch(I dont know what to put here) {
JOptionPane.showMessageDialog(mainPanel, "One or more fields contains invalid data","Error Dialog", JOptionPane.ERROR_MESSAGE);
}
【问题讨论】:
-
你可以明确检查它是否是一个数字,但你怎么知道它是否是一个“单词”。
-
好吧,鉴于名称是一个词,很难检查。你想要的实际上是非常复杂的。 Lexographic 分析有点超出您目前编码的范围。
-
我认为这对他来说并不重要。他只想要数字
-
尝试将返回解析为 Double 并捕获 NumberFormatException。
-
您可以在检查输入是否为数字后抛出异常。