有 Java 编程相关的问题?

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

如何在Java中忽略键输入的大小写

我试图检查用户是否键入了y键,但我希望它是小写的。我不知道怎么检查。我正在使用if (e.getKeyCode()==KeyEvent.VK_Y),但是我需要y键是小写的,当它是大写时,它会弄乱我的代码


共 (4) 个答案

  1. # 1 楼答案

    if (e.getKeyCode() == 'y') {
        //...
    }
    
  2. # 2 楼答案

    getKeyCode返回所按下键的代码,而不考虑其意图或修饰符。要查看是否应用了移位修饰符,请尝试对事件使用getModifiers()

    请注意,这些关键事件是低级的,因此以更自然的方式理解这些事件将变得更复杂

  3. # 3 楼答案

    也许试试类似的东西

    KeyEvent.getKeyText(e.getKeyCode()).equalsIgnoreCase("y")
    

    这会将keycode转换为字符串,然后对其进行比较,不区分大小写

    或者,如果您只想接受小写,只需equals例如

    KeyEvent.getKeyText(e.getKeyCode()).equals("y")
    
  4. # 4 楼答案

    方法getKeyCode()恰好返回ASCII码,常量VK_Y的值是一个整数89(reference)。此值对应于ASCII表中的charY

    如果需要小写,请使用对应于y的值,而不是常量KeyEvent.VK_Y。根据ASCII表,整数121对应于chary

    所以,你可以这样做:

    if (e.getKeyCode() == 121)
    

    或:

    if (e.getKeyCode() == 'y')