gpt4 book ai didi

java - 输入验证后如何显示菜单?

转载 作者:行者123 更新时间:2023-12-01 10:27:33 24 4
gpt4 key购买 nike

主类:

package BankingSystem;


import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class Bank {

public static void main (String [] args){

//User verifies Account
SignIn Valid = new SignIn();
Valid.AccountLogin();
Scanner choice = new Scanner (System.in); //allow user to choose menu option

int option = 0; //Menu option is set to 0


// Menu For User


do{
System.out.println("Welcome");
System.out.println();
System.out.println("1:Deposit Cash");
System.out.println("2: Withdraw Cash");
System.out.println("3: View Current Account Balance");
System.out.println("4: View Saving Account Balance");


System.out.println("5: Cancel"); //When the User Quits the system prints out GoodBye

System.out.println("Please choose");
option= choice.nextInt();



}while (option < 6);
}


}

帐户登录类:

package BankingSystem;

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class SignIn {
public void AccountLogin (){
List<String> AccountList = new ArrayList<String>();
AccountList.add("45678690");

Scanner AccountInput = new Scanner(System.in);
System.out.println("What is your account number?");
AccountInput.next();
boolean isExist = false;

for (String item : AccountList){
if (AccountInput.equals(AccountList.get(0))){
System.out.println("Hi");
isExist = true;
break;
}

}

if (isExist){
//Found In the ArrayList
}
}



}

我正在尝试创建一个相当复杂的银行系统。在这里,一开始我希望用户输入他们的帐号,该帐号希望与数组列表匹配,当它与数组列表中的数字匹配时,它们会显示在菜单中,即提款、存款等。
这里的问题是,我不确定如何在菜单将其与 AccountLoginClass 链接之前创建一个对象,但这实际上不起作用。

最佳答案

您在这里犯了与其他问题相同的错误。

AccountInput.equals(AccountList.get(0))

您正在将类 java.lang.String 的实例与类 java.util.Scanner 的实例进行比较。您的意思是:

(AccountInput.nextLine()).equals(AccountList.get(0))

这将起作用,您将能够将帐号与 ArrayList 的元素相匹配(不是列表本身,如您所写)

Java 中的所有类均派生自类 Object (java.lang.Object)。因此有时您可能不会收到异常,因为它们具有不同的签名。有时它们可​​以是相等的,即使它们在任何常识上都不相等。在好的情况下,您会收到一个异常,该异常将使您的程序崩溃。

通常,您需要确保您没有苹果与橙子进行比较。

很容易检查:只需查看您正在比较的内容的声明

Orange or1, or2;
Apple ap1;
...
or1.equals(ap1) // BAD
or1.equals(or2) // Good if equals() implemented for class Orange in
// in the way it satisfies you.

关于java - 输入验证后如何显示菜单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35277086/

24 4 0