有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何在多种情况下使用IgnoreCase

我是这个网站的新成员,谢谢你 我有一个项目要做:

创建一个程序,该程序将查找并显示输入的字符是元音、辅音、数字还是特殊字符

这是我的代码:

Scanner input = new Scanner(System.in);
    System.out.print("Enter a value: ");
    char num = input.nextLine().charAt(0);

    if ((num >= 'A' && num <= 'Z') || (num >= 'a' && num <= 'z')) {
        if (num == 'a' || num == 'e' || num == 'i' || num == 'o'
                || num == 'u' || num == 'A' || num == 'E' || num == 'I'
                || num == 'O' || num == 'U') {
            System.out.println(" vowel");

        } else {
            System.out.println(" consonants");

        }

    } else if (num == '0' || num == '1' || num == '2' || num == '3'
            || num == '4' || num == '6' || num == '7' || num == '8'
            || num == '9') {
        System.out.println(" digits");
    }
    else{
        System.out.println("Special Character!");
    }

我的问题是,如何在条件语句中使用IgnoreCase来简化它

if ((num >= 'A' && num <= 'Z') || (num >= 'a' && num <= 'z'))
and
if (num == 'a' || num == 'e' || num == 'i' || num == 'o'
                    || num == 'u' || num == 'A' || num == 'E' || num == 'I'
                    || num == 'O' || num == 'U')

有没有可能做出一个不重要的新声明?因为我的代码看起来并不简单,而且很长


共 (2) 个答案

  1. # 1 楼答案

    马龙给出了你的答案,也许你可以用

    public static boolean isTestPassed(char num) {
      return "0123456789AEIOUaeiou".indexOf(num) != -1; // 
    }
    
  2. # 2 楼答案

    您不需要所有这些比较,只需使用^{}

    num.toLowerCase() == 'a' || ...
    

    您可能还想考虑使用循环。