首页 > 解决方案 > 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");
    }                                        

我输入了正确的密码,我确信这一点,因为我显示了正确的密码以及输入的密码,它们是相同的,但提供的答案无效

标签: javaif-statementnetbeans

解决方案


可能是编码问题。当您从文本文件中读取 pin 时,请确保文本的编码与 lblP=_Pin 的编码匹配。

当您阅读文本文件时,您可以在打开文件时提及所需的编码。


推荐阅读