java - 无法让 charAt(0) 工作

标签 java string if-statement java.util.scanner

好吧,虽然很多人告诉我语法和逻辑是正确的,但我似乎无法让它工作。谁能告诉我我可能做错了什么?

public Scanner in = new Scanner(System.in);

public void movePlayer() {
    System.out.print("move: ");
    String str = in.nextLine();

    in.nextLine();

    char c = str.charAt(0);

    if (c == 'l' || c == 'L') {
        player.moveLeft();
    }
 }

程序在 char 处被捕获 c = str.charAt(0);

我收到此错误:

java.lang.StringIndexOutOfBoundsException: 字符串索引超出范围:0(在 java.lang.String 中)

最佳答案

您没有通过控制台输入任何内容,因此 str 为空。这就是 chatAt(0) 抛出异常

的原因

关于java - 无法让 charAt(0) 工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10382845/

相关文章:

javascript - 正则表达式获取两个字符串之间的所有字符串

c - 读取然后重写和修改txt文件

c# - 在程序中实现逻辑时,If else 的更好选择是什么? | C#

java - 用java打破for循环的另一种方法?

java - 将大文本文件数据写入excel

java - 如何保留日期信息?

algorithm - 有哪些字符串相似度算法?

C++ If 在 for 循环中循环。限制

r - R 中的嵌套 if-else 循环

java - 为什么接口(interface)方法的作用域只是public?