-1

Bankコンストラクターでas and という名前のクラスを作成しています。アカウントの初期残高を に設定していますinitialBalance。配列型accountsのデータメンバです。double[]

public Bank(int n, double initialBalance){
   accounts=new double[n];
   for( double i:accounts)
      i=initialBalance;
      System.out.println("setting accounts[3]"+accounts[3]);

 }

私が直面している問題は、ループ後にアカウントの残高を印刷しようとしていることです。正しい値が表示されません。

4

4 に答える 4

2

initialBalance配列の各要素に割り当てる必要がありますaccounts...

public Bank(int n, double initialBalance){
    accounts=new double[n];
    for( int i = 0; i < n; i++) {
        accounts[i]=initialBalance;
    }
    System.out.println("setting accounts[3]"+accounts[3]);
 }

また、配列要素にアクセスするときは注意してください。存在しない可能性があります。すなわちaccounts[3]

于 2013-03-12T05:17:07.090 に答える
2
for(int i = 0; i < accounts.length; i++){
   accounts[i] = initialBalance;
}
System.out.println("setting accounts[3]"+accounts[3]);

接吻!

于 2013-03-12T05:18:06.887 に答える
1

Java で foreach ループを使用して配列を変更することはできません。ただし、従来のforループ を使用して実行できます。

public Bank(int n, double initialBalance){
   accounts=new double[n];
   for(int i = 0; i < accounts.length; ++i)
      accounts[i] = initialBalance;
      System.out.println("setting accounts[i]"+accounts[i]);

 }

また、別の危険信号: 0 未満の値が n として渡されたNegativeArraySizeException場合、n が負の場合は a になります。

于 2013-03-12T05:19:18.650 に答える
0

私の意見では、正しいコードは次のとおりであり、それはあなたを助けることができます:

public class Bank{
   public Bank(int n, double initialBalance){
   double accounts[]=new double[n];
   for(int i = 0; i<accounts.length; i++){
      accounts[i]=initialBalance;
      System.out.println("setting accounts[]"+accounts[i]);
   }//end of for
   }//end of constructor

  public static void main(String a[]){
  Bank b = new Bank(2, 12);

 }//end of main
}//end  of class
于 2013-03-12T05:53:55.907 に答える