gpt4 book ai didi

java - 如何将 !.equals 与字符串一起使用?

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:14:42 26 4
gpt4 key购买 nike

我们正在做一个小组作业。该程序的一部分用于输入“支付”,然后输入学生的 SIN(社会保险号码)以及从他们的账户中扣除多少。例如,pay,193678187,900

将 SIN 与文件中的 SIN 列表进行比较,生成数组并进行比较,curSin.equals(stuSin))curSinstuSin 都是字符串。

如果找到 SIN,它将从学生的余额(未显示)中减少金额并将其写入文件 write(student,inrec)

如果没有找到 SIN,应该返回“SIN not found”。
我们的问题是即使找到了SIN,还是返回“SIN not found”。我们认为它与if语句和不等于比较有关,但我们已经尝试了我们能想到的一切,但无法使其正常工作。

如有任何帮助,我们将不胜感激。谢谢。

下面的代码片段。

    if (cmd.equals("pay") && p.length == 3)
{ // first word is "pay";three terms (cmd, sin, $)
System.out.println("pay");
// Pay: decreases student payment, notifies of overpayment
String stuSin = p[1];
double stupay = Double.parseDouble(p[2]);
for (int i = 0; i < student.length; i++)
{
Student x1 = student[i];
String curSin = x1.getSin();
if (curSin.equals(stuSin))
{
double curpay = x1.getBal();
double newBal = curpay - stupay;
if (stupay > curpay)
{
JOptionPane.showMessageDialog(null, "Overpayment");
System.exit(0);
}
x1.setBal(newBal);
System.out.println(x1.getBal());

write(student, inrec);
}
else if (!curSin.equals(stuSin))
{
JOptionPane.showMessageDialog(null, "SIN not found"); // sin not found
System.exit(0);
}

}// end of for loop
}

最佳答案

如果列表中的第一个是正确的匹配项,那么您的程序似乎可以正常工作。

但第一个不是正确的匹配项。所以它没有看第二个就退出了。

您可能想要遍历所有学生并第一次匹配时跳出循环。

当且仅当您在没有匹配的情况下遍历所有学生时运行 JOptionPane.showMessageDialog(null,"SIN not found");//没有找到罪

关于java - 如何将 !.equals 与字符串一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10112997/

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