我正在编写一个 ATM 程序,当用户输入其中一个字符串值时,程序应该检查它并相应地执行一个方法。问题代码在这里:
System.out.println("PRESS");
System.out.println("(D)eposit");
System.out.println("(W)ithdraw");
System.out.println("(C)heck Account Balance");
System.out.println("(Q)uit");
System.out.println("Enter Choice: ");
String choice = scanner.nextLine();
scanner.nextLine();
if(choice == "D"){
currentCustomer.deposit();
}
else if(choice == "W"){
currentCustomer.withdraw();
}
else if(choice == "C"){
currentCustomer.checkBalance();
}
else if(choice == "Q"){
currentCustomer.quit();
}
else{
System.out.println("Invalid choice please reenter: ");
}
如果用户输入“D”,程序会跳到 else 语句。我知道在使用.nextLine
时必须使用两个,因为返回字符,但我不确定这种情况是否属实。无论哪种方式,如果我有额外的.nextLine
声明,它仍然会跳过。任何帮助将非常感激!