【问题标题】:Compare user input (char) with other char将用户输入 (char) 与其他 char 进行比较
【发布时间】:2020-02-03 02:46:14
【问题描述】:

如何将我从用户收到的输入与字符进行比较? 我将收到用户的一封信(可以是大写或小写),然后将其与所需的字母进行比较。

例子:

Scanner input = new Scanner(System.in);
char inlet;

System.out.println("Enter letter:");
inlet = input.next().atChar(0);

if(inlet == "A"){
System.out.println("Same letter");
}

如何在 if 语句中使用 toLoweCase()

【问题讨论】:

  • 您可以使用 'java.lang.Character.toLowerCase()' 方法将 char 转换为小写。否则,您可以将其与大小写字母进行比较。另外,我认为您应该使用“A”而不是“A”,因为 atChar 方法返回一个字符而不是字符串。
  • 我正在尝试这样做:if(Character.toLowerCase(inlet.charAt(0) == 'A')){ System.out.println("Valid letter"); } 但出现此错误:**无法在原始类型 int 上调用 charAt(int) **

标签: java char compare


【解决方案1】:

您可以使用toUpperCase(char ch)toLowerCase(char ch)1 来转换用户输入并进行如下比较:

if ( Character.toLowerCase(inlet) == 'a' ){

}

if ( Character.toUpperCase(inlet) == 'A' ){

}

【讨论】:

    【解决方案2】:

    char 原语由 ASCII 值持有者整数支持。所以,如果问题是

    如何比较两个char值?

    那么答案是看一下 char 值的 ASCII 表示,事实上,每个 char 都可以通过将其转换为 int 来表示为整数:

    char c1 = 'a';
    char c2 = 'c';
    System.out.println((int)c1);
    

    例如,'a' 用对应的整数 ASCII 值 97 表示,'A' - 用 65 表示,'b' - 用 98 等(注意大小写)。

    所以,你可以很容易地写if (c1>c2){..//code here..},并分别比较对应的ASCII整数。

    但是,如果问题是

    如何改变给定字符的大小写?

    那么@royalghost 提供的答案就可以了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-28
      • 2021-02-16
      • 1970-01-01
      • 1970-01-01
      • 2013-12-21
      • 1970-01-01
      • 1970-01-01
      • 2019-11-08
      相关资源
      最近更新 更多