java - Java:检测变量是字符串还是整数

标签 java string

我正在寻找一些家庭作业方面的帮助。我希望用户输入一个数字字符串,然后将其转换为整数。但是我想做一个循环,该循环将检测用户是否输入了错误的值,例如与“ 100”相对应的“一百”。

我当时想做的是这样的事情:

    do{
        numStr = JOptionPane.showInputDialog("Please enter a year in numarical form:"
                        + "\n(Ex. 1995):");
        num = Integer.parseInt(numStr);
            if(num!=Integer){
            tryagainstr=JOptionPane.showInputDialog("Entered value is not acceptable."
                                  + "\nPress 1 to try again or Press 2 to exit.");
    tryagain=Integer.parseInt(tryagainstr);
            }
            else{
            *Rest of the code...*
            }
            }while (tryagain==1);


但是我不知道如何定义“整数”值。我本质上是希望它查看它是否为数字,以防止在用户输入错误的内容时使其崩溃。

最佳答案

试试这个

int num;
String s = JOptionPane.showInputDialog("Enter a number please");
while(true)
{
    if(s==null) 
        break; // if you press cancel it will exit
    try {
        num=Integer.parseInt(s);
        break;
    } catch(NumberFormatException ex)
    {
        s = JOptionPane.showInputDialog("Not a number , Try Again");
    }
}

关于java - Java:检测变量是字符串还是整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14961890/

相关文章:

java - 为什么我在初始化字母时遇到错误以及如何修复它?

java - 如何在 javafx8 中获取节点句柄

c# - 在 C# 中将列表转换为字符串

c# - 通过 LINQ 使用通用列表中的值格式化字符串

ruby-on-rails - 从ruby中的字符串的开头和结尾删除模式

java - Android API 16 选项菜单不显示。但在 Android 版本 API 10 中显示菜单

java - 处理死信队列消息代理独立的方式

Java Stack peek 方法显示 0 而不是正确的数字

android - 为什么冒号在空格之前被认为是空格但在冒号之后它在 Android 中不被考虑

java - 我们什么时候应该在 String 字面量上使用 String 的 intern 方法