gpt4 book ai didi

java - 为什么 .equals 在比较相同字符串时返回 false?

转载 作者:行者123 更新时间:2023-12-02 08:52:49 25 4
gpt4 key购买 nike

我试图比较一个字符串,它是读取文件的一部分(文件:读取文件示例

1.Dog
2.Cat
3.Bird

4),使用 .equals 来处理用户的给定输入。即使我复制粘贴打印的字符串,它也总是返回 false。

代码:

File TF = new File("Textfile.txt");Scanner read = new Scanner(TF);
String text="";
while(read.hasNextLine()) {
text = text.concat(read.nextLine()+"\n");
}
int x;
int y;
char a;
char b;
Random dice = new Random();
x=dice.nextInt(3)+1;
y=x+1;
a=(char)(x+48);
b=(char)(y+48);
int first = text.indexOf(a);
int second = text.indexOf(b);
String some=text.substring(first,second);
Scanner write = new Scanner(System.in);
String writein=write.nextLine();
System.out.println(writein.equals(some))

最佳答案

text.substring(first,second) 返回一个包含尾随换行符的字符串,例如“1.Dog\n”,而输入的字符串则不会。要修复此问题,您可以修剪从文件中读取的行:

String some=text.substring(first,second).trim();

关于java - 为什么 .equals 在比较相同字符串时返回 false?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60674464/

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