ユーザー入力の整数値を検証し、無効な値が入力された場合はユーザーに再入力を求める必要があります。これまで、この方法を以下にまとめました。ロジックは正しいと思いますが、エラーメッセージの後でユーザーに入力を再入力させる必要があります。
void validateItemquantity() {
boolean error = true;
while (error) {
try{
Integer.parseInt(itemQuantityinput.getText());
error = false;
}
catch (NumberFormatException e) {
JOptionPane.showMessageDialog(null, "Item quantity must be a positive number, please reenter");
error = true;
}
}
}
jframeメソッドのコードの一部:
private void bnPurchaseActionPerformed(java.awt.event.ActionEvent evt) {
String itemCode;
int itemQuantity, itemPrice, itemCost, totalCost ;
validateItemquantity();
itemCode = itemCodeinput.getText();
itemQuantity = Integer.parseInt(itemQuantityinput.getText());
itemPrice = catalog.searchCatalog(itemCode);
itemCost = payment.calculateItemcost(itemQuantity,itemPrice);
totalCost = payment.calculateTotalcost(itemCost);