如何检查输入是否在java中的一组值中?

时间:2013-12-10 17:41:37

标签: java validation input

我需要输入一个字符作为输入并检查它是否是数字(0 - 9)或+ - * / 我怎样才能以优雅的方式做到这一点,而无需单独检查每一个?

2 个答案:

答案 0 :(得分:1)

如果你正在解析一个数学方程并且想要验证你有一个有效的数学方程式,那么正确的唯一方法是建立一个状态机并单独检查每个字符。

如果您只想验证字符串中只有14个字符,那么您可以使用正则表达式或String.contains()。

答案 1 :(得分:0)

您可以使用字符的ASCII十进制表示法。

        int asInt = (int)c;

    if (asInt >= 48 && asInt <= 57)
        System.out.println("Digit range");
    else {
        switch (asInt) {
        case 42: System.out.println("Is multiplication sign.");break;
        case 43: System.out.println("Is plus sign.");break;
        case 45: System.out.println("Is less sign.");break;
        case 47: System.out.println("Is division sign.");break;
        default: System.out.println("This is something we weren't expecting.");
        }
    }