Невозможно перейти к коду if else после ввода необходимой информации в логин
Мой оператор If else не показывает следующую часть кодов, несмотря на правильный ввод имени учетной записи и pin-кода, я не знаю, в чем проблема
JFrame king = new JFrame("Kingsmen ATM Banking"); JPanel pnl = new JPanel(new BorderLayout(5, 5)); JPanel acn = new JPanel(new GridLayout(0,1,2,2)); JPanel lgn = new JPanel(new GridLayout(0, 1, 2, 2)); acn.add(new JLabel("Account Name: ", SwingConstants.RIGHT)); JTextField a = new JTextField(); lgn.add(a); String acname = a.getText(); acn.add(new JLabel("Pin Number: ", SwingConstants.RIGHT)); JPasswordField p = new JPasswordField(); lgn.add(p); char[] pc = p.getPassword(); String pnu = new String(pc); pnl.add(lgn, BorderLayout.CENTER); pnl.add(acn, BorderLayout.WEST); JOptionPane.showMessageDialog(king, pnl, "Kingsmen Login Page", JOptionPane.QUESTION_MESSAGE); do{ if(acname.equals (kn1) && pnu.equals(pn1) ){ //main menu program System.out.println(""); System.out.println(""); System.out.println(" W E L C O M E A G E N T : "+act); System.out.println(""); System.out.println(""); System.out.println("K I N G S M E N B A N K I N G"); System.out.println(""); System.out.println("C H O O S E F R O M T H E G I V E N O P T I O N S:"); System.out.println(""); System.out.println(" | 1 | C H E C K B A L A N C E"); System.out.println(""); System.out.println(" | 2 | W I T H D R A W "); System.out.println(""); System.out.println(" | 3 | D E P O S I T "); System.out.println(""); System.out.println(" | 4 | E X I T "); System.out.println(""); System.out.print("P L E A S E I N P U T Y O U R C H O I C E : "); System.out.print(""); cho = kingsmen.next().charAt(0); } else{ System.out.println("I N V A L I D A C C O U N T P L E A S E T R Y A G A I N"); System.out.println(""); System.out.println(" D O Y O U W I S H T O C O N T I N U E ? "); System.out.println(""); System.out.println(" [ Y ] Y E S [ N ] N O"); System.out.println(""); choice = kingsmen.next().charAt(0); System.out.println(""); System.out.println(""); System.out.println(""); }
Что я уже пробовал:
я пробовал заменить kn1 на "Eggsy", а pn1 - на "1231", но безрезультатно
Richard MacCutchan
Очевидный ответ заключается в том, что одно или оба этих поля не совпадают. Используйте свой отладчик, чтобы выяснить, почему.