-1

Bank在构造函数中编写了一个名为 and 的类。我将帐户的初始余额设置为initialBalanceaccountsdouble[]数组类型的数据成员。

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]);
 }

另外,访问数组元素时要小心,它可能不存在。IEaccounts[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 回答