Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/react-native/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java-使用方法从银行帐户中提取_Java - Fatal编程技术网

java-使用方法从银行帐户中提取

java-使用方法从银行帐户中提取,java,Java,使用Java方法构建基本银行帐户。我正在创造一种从银行账户中提款的新方法。这是我现在想到的代码,但在netbeans上它显示出有错误 我创建了一个名为退出的新方法。下面的代码用于从帐户中提款,并且不允许帐户中的余额低于零 private static void withDrawal() { int accountIndex = findAccount(); int verifyPin = checkPin (!=0); if(a

使用Java方法构建基本银行帐户。我正在创造一种从银行账户中提款的新方法。这是我现在想到的代码,但在netbeans上它显示出有错误

我创建了一个名为退出的新方法。下面的代码用于从帐户中提款,并且不允许帐户中的余额低于零

private static void withDrawal() 
    {

        int accountIndex = findAccount();
        int verifyPin = checkPin (!=0);
            if(accountIndex != -1)
            if(verifyPin !=-2)

            {        
            accounts[accountIndex].withDrawal();
            accounts[verifyPin].checkPin();
            int withDra = input.nextInt();


            }
            else 
            {
                System.out.println("Account does not exist!");
                System.out.printf("Enter amount you want to withdraw: ");

            }
    }
Java文件

package grossmontbank;

import java.util.Scanner;

public class GrossmontBank 
{
    //class variables (global - accessible throughout this class)

    //scanner object to be used throughout
    private static Scanner input = new Scanner(System.in);

    //array of blank accounts
    private static final int MAX_ACCOUNTS = 50;
    private static Account[] accounts = new Account[MAX_ACCOUNTS];

    //total accounts created
    private static int totalAccounts = 0;

    //main class mimics a bank teller 
    public static void main(String[] args) 
    {
        char choice;

        //loop until 'Q' is entered
        do
        {
            choice = getChoice(); //getChoice() will only return with a C, B, W, D or Q
            if(choice != 'Q')
            {
                switch(choice)
                {
                    case 'C':   createAccount();
                                break;

                    case 'B':   checkBalance();
                                break;

                    case 'W':   
                                break;

                    case 'D':   
                                break;
                }                
            }            
        }while(choice != 'Q');

        closeBank(); //outputs all account holders and 'closes' the bank

    }

    /*method checkBalance  calls method findAccount()
    *                      if account exists, calls Account method checkBalance()
    */
    private static void checkBalance()
    {
        int accountIndex = findAccount();        
        //findAccount() returns index of account if found, -1 if not found
        if(accountIndex != -1)
        {
            accounts[accountIndex].checkBalance();
        }
        else
        {
             System.out.println("Account does not exist");
        }
    }

    /*method checkIfExists  determines if account holder already exists
    *                      returns true if account holder exists, false otherwise
    */   
    private static boolean checkIfExists(String firstName, String lastName)
    {
        //loops through account array to see if account name already exists
        for(int i = 0; i < totalAccounts;i++)
        {
            //compares the names, ignoring upper/lower
            if(accounts[i].getFirstName().equalsIgnoreCase(firstName) 
                    && accounts[i].getLastName().equalsIgnoreCase(lastName))
            {
                System.out.println("Account holder already exists.  Please verify and re-enter. ");
                return true;
            }
        }
        return false;
    }

    /*method closeBank  prints out closing statement
    *                   prints out list of all account holders
    */
    private static void closeBank()
    {
        System.out.println("Closing the follow accounts:");

        for(int i = 0; i < totalAccounts;i++)
        {
            //printing an account object invokes the Account class method toString()
            //prints first and last name only
            System.out.printf("    %s%n",accounts[i]); 
        }        
        System.out.println("Grossmont Bank is officially closed.");        
    }

     /*method createAccount creates a single bank account
    *                      checks to ensure account holder does not already exist
    *                      returns Account object
    */
    private static void createAccount()
    {
        String first, last, initial;
        boolean exists = false;

        //only create a new account if MAX_ACCOUNTS has not been reached
        if(totalAccounts < MAX_ACCOUNTS )
        {
            //loop until a new account name has been entered
            do
            {
                System.out.print("Enter your first name: ");
                first = input.next();
                System.out.print("Enter your last name: ");
                last = input.next();
                exists = checkIfExists(first,last);
            }while(exists == true);

            System.out.print("Will you be making an initial deposit? Enter Yes or No: ");
            initial = input.next();

            //if no initial deposit, call 2 parameter constructor, otherwise call 3 param one
            if(initial.equals("No"))
            {
                accounts[totalAccounts] = new Account(first,last);
            }
            else
            {
                System.out.print("Enter initial deposit amount: ");
                accounts[totalAccounts] = new Account(first,last, input.nextDouble());
            }

            //increment totalAccounts created (used throughout program)
            totalAccounts++;
        }
        else
        {
            System.out.println("Maximum number of accounts has been reached. ");
        }
    }

    /*method findAccount   asks for first and last name
    *                      searchs for account holder in array
    *                      if exists, returns array index of this account
    *                      if doesn't exist, returns '-1'
    *                      called from checkBalance()
    */
    private static int findAccount()
    {
        String first, last;

        System.out.print("Enter first name: ");
        first = input.next();
        System.out.print("Enter last name: ");
        last = input.next();

        //loops through account array
        for(int i = 0; i < totalAccounts;i++)
        {
            //compares the names, ignoring upper/lower
            if(accounts[i].getFirstName().equalsIgnoreCase(first) 
                    && accounts[i].getLastName().equalsIgnoreCase(last))
            {
                return i; //returns the index of the account
            }
        }
        return -1; //if account not found

    }


     /* method getChoice()   outputs options 
    *                       inputs choice from user and validates
    *                       returns choice char
    */                      
    private static char getChoice()
    {
        char choice;

        //output menu options
        System.out.println();
        System.out.println("Welcome to Grossmont Bank.  Choose from the following options: ");
        System.out.println("    C - create new account");
        System.out.println("    B - check your balance");
        System.out.println("    D - deposit");
        System.out.println("    W - withdrawal");
        System.out.println("    Q - quit");

        //loop until a valid input is entered
        do
        {
            System.out.print("Enter choice: ");
            choice = input.next().charAt(0);
            //if choice is one of the options, return it.  Otherwise keep looping
            if(choice == 'C' || choice == 'B' || choice == 'D' || choice == 'W' || choice == 'Q')
                return choice;
            else
            {
                System.out.println("Invalid choice.  Ensure a capital letter. Please re-enter.");
                choice = '?';
            }
        }while(choice == '?');

        return choice;  //will never get here, but required to have a return statement to compile   
    }


    private static void withDrawal() 
    {

        int accountIndex = findAccount();
        int verifyPin = checkPin (!=0);
            if(accountIndex != -1)
            if(verifyPin !=-2)

            {        
            accounts[accountIndex].withDrawal();
            accounts[verifyPin].checkPin();
            int withDra = input.nextInt();


            }
            else 
            {
                System.out.println("Account does not exist!");
                System.out.printf("Enter amount you want to withdraw: ");

            }
    }


}
grossmontbank套餐;
导入java.util.Scanner;
公共级格罗斯蒙特班克
{
//类变量(全局-可在整个类中访问)
//要在整个过程中使用的扫描仪对象
专用静态扫描仪输入=新扫描仪(System.in);
//空白帐户数组
私人静态最终整数最大账户=50;
私人静态账户[]账户=新账户[最大账户];
//创建的帐户总数
私有静态int totalAccounts=0;
//main类模仿银行出纳员
公共静态void main(字符串[]args)
{
字符选择;
//循环,直到输入“Q”
做
{
choice=getChoice();//getChoice()将只返回C、B、W、D或Q
如果(选项!=“Q”)
{
开关(选择)
{
案例“C”:CreateCount();
打破
案例“B”:checkBalance();
打破
案例“W”:
打破
案例“D”:
打破
}                
}            
}while(choice!=“Q”);
closeBank();//输出所有帐户持有人并“关闭”银行
}
/*方法checkBalance调用方法findAccount()
*如果帐户存在,则调用帐户方法checkBalance()
*/
私有静态void checkBalance()
{
int accountIndex=findAccount();
//findAccount()如果找到,则返回帐户索引,如果未找到,则返回-1
如果(accountIndex!=-1)
{
账户[accountIndex]。支票余额();
}
其他的
{
System.out.println(“账户不存在”);
}
}
/*方法checkIfExists确定帐户持有人是否已存在
*如果帐户持有人存在,则返回true,否则返回false
*/   
私有静态布尔checkIfExists(字符串名、字符串名)
{
//循环查看帐户数组以查看帐户名称是否已存在
对于(int i=0;i