gpt4 book ai didi

java - 广泛搜索 - 仍然没有解决 If 语句错误的问题

转载 作者:太空宇宙 更新时间:2023-11-04 12:47:23 24 4
gpt4 key购买 nike

我正在尝试查看数组中的字符串是否与单词匹配。如果是,则执行 If 语句。

听起来很简单,但 If 语句看不到数组中的字符串!

数组(temps)只包含“non”,所以我知道 If 语句有问题。

这是代码片段:

    if ("non".equals(temps.get(3))) {
System.out.println("Don't know.");
}

其中 temps 是在不同行上包含“non”的数组。

这里是完整的代码,以防有人想知道:

public class Dump {

public static void main(String[] args) throws IOException {
String token1 = "";

//Reads in presidentsUSA.txt.
Scanner inFile1 = new Scanner(new File("presidentsUSA.txt"));

//Splits .txt file via new lines.
inFile1.useDelimiter("\\n");

List<String> temps = new ArrayList<String>();

while (inFile1.hasNext()) {
token1 = inFile1.next();
temps.add(token1);
}
inFile1.close();

// Stores each new line into an array called temps.
String[] tempsArray = temps.toArray(new String[0]);

if ("non".equals(temps.get(3))) {
System.out.println("Don't know.");
}

}
}

最佳答案

if 语句返回 false 的最可能的解释是您使用的是 Windows 操作系统。

如果您调试代码并观看 temps.get(3) ,它将显示内容为

non\r

且非\r不等于非

解决方案:

inFile1.useDelimiter("\\r\\n");

在此处查看已接受的答案(尤其是第 4 点):Difference between \n and \r?

关于java - 广泛搜索 - 仍然没有解决 If 语句错误的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36177924/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com