java - 从字符串转换为整数

标签 java int type-conversion jtextfield joptionpane

我试图通过在 JDialog 上的 JTextField 输入一个值来验证我的程序,如果它小于一个值...,否则...我一直遇到问题:

int intDiagInput = Integer.parseInt(dialogInput)

JOptionPane.showInputDialog(dialogPaneInput, "Age verification required, please enter year of birth: yyyy");

            dialogInput = dialogPaneInput.getText(); //get info from JTextField and put in string

            int intDiagInput = Integer.parseInt(dialogInput); //convert string to int

任何帮助将不胜感激。

最佳答案

您的代码有两个错误: 您传递给 showInputDialog 的第一个参数用作父级,仅用于布局目的,与输入对话框的实际内容无关。因此,您的第二个错误是从显示的对话框中获取文本。 要获取用户输入的文本,您需要编写如下内容:

String dialogInput = JOptionPane.showInputDialog(dialogPaneInput, "Age verification required, please enter year of birth: yyyy");

int intDiagInput = Integer.parseInt(dialogInput ); //convert string to int

你正在做的是获取一些神奇对象dialogPaneInput的文本,它可能只是一个空字符串。

此外,您应该检查用户输入的数字是否有效,不是您接受的数字,而是它实际上是一个数字,否则您将遇到已经存在的 NumberFormatException - 或将解析包装在 try...catch block 中。

try {
    int intDiagInput = Integer.parseInt(dialogInput );
} catch (NumberFormatException nfex) {
    System.err.println("error while trying to convert input to int.");
}

关于java - 从字符串转换为整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28950066/

相关文章:

Java:使用 BufferedWriter 数组(或其他方式?)写入多个文件

java - 用于模板匹配的 OpenCV 读取图像

c - 为什么我不能在没有获取 int 地址的情况下将 int 存储到 char[]?

java - 从整数中截取数字

Groovy类型转换

JAVA TCP 客户端-服务器连接

38k 到 38000 的 java 正则表达式

Java - nextInt() 大小限制

ios - objective-c 中UILabel的随机数

c++ - 从类类型到类类型的隐式转换