java - equals()方法未从文件中检测到单词

标签 java file io java.util.scanner equals

我正在编写一个程序来读取文件并检查每一行中的特定单词。我在下面有这段代码,但是代码不执行“if 语句”,我不确定为什么。名为“scores.txt”的文件包括:

Andy 60  
Bob 87  
Alice 59  

这是我目前所拥有的:

public static void scoreCheck() {
        Scanner scanner = new Scanner("scores.txt");
        int lineNum = 0;

        while (scanner.hasNextLine()) {
            String line = scanner.nextLine();
            lineNum++;

            if(line.equalsIgnoreCase("bob")) { 
                System.out.println("user Found On: " + lineNum);
            }
        }
    }

我试图让它找到用户 bob 所在的行。请提出建议。

谢谢

最佳答案

在第二次循环时,line 的值为 Bob 87,就在检查 line.equalsIgnoreCase("bob"),即使我们忽略大小写,“bob”也不等于“bob 87”

在你的条件下你需要做的是 line.toLowerCase().startsWith("bob")

关于java - equals()方法未从文件中检测到单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45292837/

相关文章:

python - 如何合并 csv 文件的连续行

java - 将包含 XML 的字符串写入文件

Java:在重写文件之前检查文件是否需要更新的最佳方法是什么?

c - 如何通过 zlib 和 compress2 用 C 语言编写 gz 文件

java - 为什么不满足这个条件?

java - 如何使用 Spring Hibernate 配置包级别 @TypeDefs

c - C标准库中使用内存流的目的是什么?

java - 检查文本文件中的字符串是否等于 JTextField 中的字符串的最佳方法是什么?

java - 前缀 'xsi' 的命名空间尚未声明

java - 为什么我的纹理不起作用?