gpt4 book ai didi

java - 如何将从文本文件中读取的行与传入的整数进行比较

转载 作者:行者123 更新时间:2023-12-01 18:41:22 25 4
gpt4 key购买 nike

我有以下方法,它接受一个整数和字符串。此外,我必须将参数与从文本文件中读取的参数进行比较。我收到错误“类型不兼容”。我需要做一些解析吗?如果是这样,怎么办?据我了解,readLine()不需要解析。我的想法是,我必须扫描文本文件以获取有效的 StaffId,并转到下一行来检查关联的密码。

public boolean staffExists (int staffid, String staffpwd) throws IOException
{
boolean valid = false;

String filePath = new File("").getAbsolutePath();

BufferedReader reader = new BufferedReader(new FileReader(filePath + "/src/DBTextFiles/Administrator.txt"));

try
{
String line = null;
while ((line = reader.readLine()) != null)
{
if (!(line.startsWith("*")))
{
//System.out.println(line);

//http://stackoverflow.com/questions/19874621/how-to-compare-lines-read-from-a-text-file-with-integers-passed-in
if (line.equals(String.valueOf(staffid)) && (reader.readLine() == staffpwd))
{
System.out.println ("Yes");
System.out.println ("Welcome " + reader.readLine() + "!");
valid = true;
}
}
}
}
catch (IOException ex)
{
ex.printStackTrace();
}
finally
{
reader.close();
}
return valid;
}

最佳答案

line 的类型为 String ,而 staffid 的类型为 int 。您无法在以下行中尝试将 intString 进行比较:

if (line == staffid)

您需要将它们转换为相同的数据类型才能进行比较。

使用 String.valueOf 将您的 staffid int 值转换为字符串方法并使用 equals 方法与行进行比较。

if (line.equals(String.valueOf(staffid))

关于java - 如何将从文本文件中读取的行与传入的整数进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19874621/

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