import java.text.*;
import javax.swing.*;public class CompoundInterest
{
public static void main(String[] args)
{
final int STARTRATE=10;
final int NRATES=6;
final int NYEARS=10; double[] interestRate=new double[NRATES];
for(int j=0;j<interestRate.length;j++)
interestRate[j]=(STARTRATE+j)/100.0;
double[][] balance=new double[NYEARS][NRATES];//从这里看不明白
for(int j=0;j<balance[0].length;j++)
balance[0][j]=10000;
for(int i=1;i<balance.length;i++)
{
for(int j=0;j<balance[i].length;j++)//到这里
{
double oldBalance=balance[i-1][j];
double interest=oldBalance*interestRate[j];
balance[i][j]=oldBalance+interest;
}
}
NumberFormat formatter=NumberFormat.getPercentInstance();
for (int j=0;j<interestRate.length;j++)
{
System.out.print("      ");
System.out.print(formatter.format(interestRate[j]));

}
System.out.println();
formatter=NumberFormat.getCurrencyInstance();
for(int i=0;i<balance.length;i++)
{
for(int j=0;j<balance[i].length;j++)
{
System.out.print("   ");
System.out.print(formatter.format(balance[i][j]));

}
System.out.println();
}

   }
}问题是这样的,balance[][] 是二维数组,为什么能写成balance.length

解决方案 »

  1.   

    你把他看成一维数组,只不过里面的数据又是一个数组而已,当然有length
      

  2.   

    balance[5][2]  length是5二维数组的length就是行数
      

  3.   

    问题是这样的,balance[][] 是二维数组,为什么能写成balance.length
    --------------------------------
    balance.length取的是第一维的长度如:balance[i][j]则 balance.length=i