java - If 语句提供错误的输出
问题描述
我编写了一个银行程序。我正处于用户必须输入他们的密码的地方,并且必须将其与从文本文件中获取的密码进行比较。问题是,我有一个 if 语句,并且条件得到满足,但它一直给我一个语句,就好像它没有得到满足一样。
我尝试过 switch 语句,甚至使用布尔值,但它不起作用
public String getPin(){
return pin;
}
String pin2 = lbl_Pin.getText();
System.out.println(pin2);
System.out.println(getPin());
// Allows the user to select what they want to do after they enter the
// correct pin
if (pin2.equals(String.valueOf(getPin()))) {
btn_SelectLoan.setEnabled(true);
btn_SelectWithdraw.setEnabled(true);
btn_SelectDeposit.setEnabled(true);
btn_Balance.setEnabled(true);
lbl_Loan.setVisible(true);
lbl_Withdraw.setVisible(true);
lbl_Deposit.setVisible(true);
lbl_Balance.setVisible(true);
}
// Displays invalid if the pin is not correct
else {
lbl_Pin.setText("Invalid");
}
我输入了正确的密码,我确信这一点,因为我显示了正确的密码以及输入的密码,它们是相同的,但提供的答案无效
解决方案
可能是编码问题。当您从文本文件中读取 pin 时,请确保文本的编码与 lblP=_Pin 的编码匹配。
当您阅读文本文件时,您可以在打开文件时提及所需的编码。
推荐阅读
- javascript - 每月订阅的 Javascript 日期函数
- asp.net - 使用 Session 存储登录的用户 ID 好不好?或者有没有更简单的方法?
- postgresql - kafka-connect JDBC PostgreSQL Sink Connector 显式定义 PostgrSQL 模式(命名空间)
- swift - 具有关联值的枚举的 Swift 抽象
- c# - 热巧克力为日期时间返回空值?;适用于 DateTime
- ramda.js - Ramda - 如何向数组中的对象添加新属性
- css - CSS 组样式定义
- api - 用于包元数据的 Nuget API 未列出包的所有版本
- flutter - 当 ComboBox 更改时(在 Flutter 中),如何更改 TextFormField 中的文本?
- vue.js - 将路由器值作为道具传递