のうち、このエラー配列のインデックスを取得していますそれはコンパイルが、あなたのmonthlyFee
方法は、この行にIndexOutOfBoundsException
をスローしますは、なぜ私は文句を言わないそれを解析し、この現在のコードで</p> <p>をintにずさんな変換、二重のためのエラーなしでコンパイルこれは、これまでと(int型)なしで私のクラスのためのコードである境界
public class Bank {
// instance variables=========================================
// setup new array of BankAccount objects and internal null constructor
BankAccount [] custAcct = new BankAccount[10];
// data above here
//===========================================================
// methods down below
// display methods=======================================
public void printAccounts(){
for(int i=0; i<custAcct.length; i++) {
if (custAcct[i]!=null){
System.out.println(custAcct[i]);
}
} //end loop
} // end method
// utility methods=============================
public void addAccount(BankAccount acct) {
for(int i=0; i<custAcct.length; i++) {
if (custAcct[i]==null){
custAcct[i] = acct;
break;
}
} // end loop
} // end method
public BankAccount getAccount(int acc) {
return custAcct[acc];
} // end method
public void monthlyFee (double acctVal){
for(int i=0; i<custAcct.length-1; i++) {
if (custAcct[i]!=null){
custAcct[i] = custAcct[(int)acctVal];
break;
}
} // end loop
} // end method
これは 'getAccount'または' monthlyFee'を呼び出す方法と関係がありますが、どのように呼び出しているのかわかりません。 – ajb
int errors = 0; 二重料金= -2.95; System.out.println( "\ n銀行1を作成"); 銀行銀行1 =新規銀行(); System.out.println( "\ n 1つのアカウント"); BankAccount b1 = new BankAccount( "Joe Mac"、1234); b1.adjust(1000.0); bank1.addAccount(b1); bank1.printAccounts(); bank1.printAccounts(); System.out.println( "\ n月額料金"); bank1.monthly料金(手数料); bank1.printAccounts(); System.out.println( "\ nErrors:"); –
'custAcct [(int)acctVal]'は正しくないようです。残高が100ポンドの場合、これはあなたの範囲外のcustAcc [100]になります。 –