我想使用Java上的keyPressed事件计算在支付特定价格时返回的值。这段代码:
private void txtbyrKeyPressed(java.awt.event.KeyEvent evt) {
int harga = Integer.parseInt(txthrg.getText());
int byr = Integer.parseInt(txtbyr.getText());
int kembali = harga-byr;
txtkmbli.setText(String.valueOf(kembali));
}
我有错误的计算输出和错误:
Exception in thread "AWT-EventQueue-0" java.lang.NumberFormatException: For input string: ""
答案 0 :(得分:1)
你的getText()方法返回空字符串。
在解析之前,请考虑检查字符串是否为数字。 How to check if a String is numeric in Java
试试这个:
private void txtbyrKeyPressed(java.awt.event.KeyEvent evt) {
String hargaString = txthrg.getText();
String byrString = txtbyr.getText();
if( NumberUtils.isNumber( hargaString ) && NumberUtils.isNumber( byrString ) ) {
int harga = Integer.parseInt(hargaString);
int byr = Integer.parseInt(byrString);
int kembali = harga-byr;
txtkmbli.setText(String.valueOf(kembali));
} }