如何通过方法传递用户输入的整数?

时间:2019-05-01 14:43:10

标签: java class methods int

基本上,我已经隔离了该问题,int numpersons从0开始。我接受用户输入,使其成为一个特定的数字,即数组大小,当第二种方法开始时,它再次采用0,然后数组具有超出范围的异常。我想将它从一种方法传递给另一种方法,或者使它们更连续,idk如何做到这一点

预先感谢

import java.util.Scanner;

public class BankApp {
Scanner input = new Scanner(System.in);
int numpersons = 0;
private SavingsAccount[] clients = new SavingsAccount[numpersons];

public BankApp() {
    while (numpersons < 1) {
        System.out.println("How many people are there?");
        numpersons = input.nextInt();
        if (numpersons < 1 || 2147483647 < numpersons) {
            System.out.println("invalid number, please enter again");
        }
    }
    input.nextLine();
}

public void addClients() {
    int i = 0;
    while (i < numpersons) {
        System.out.println("enter account id " + (i + 1));
        String AccountID = input.nextLine();
        System.out.println("enter account name " + (i + 1));
        String AccountName = input.nextLine();
        System.out.println("enter account balance " + (i + 1));
        Double AccountBalance = input.nextDouble();
        clients[i] = new SavingsAccount(AccountID, AccountName, AccountBalance);
        input.nextLine();
        i++;
    }
}

public void displayClients() {
    int i = 0;
    while (i < numpersons) {
        System.out.println("======================================");
        System.out.println("Account ID " + (i + 1) + ": " + clients[i].getID());
        System.out.println("Account Name " + (i + 1) + ": " + clients[i].getName());
        System.out.println("Account Balance " + (i + 1) + ": " + clients[i].getBalance());
        System.out.println("======================================");
        i++;
    }
}

public static void main(String args[]) {
    BankApp ba = new BankApp();
    ba.addClients();
    ba.displayClients();

}

}

0 个答案:

没有答案