Think in java 答案

    技术2022-05-11  87

     阅前声明: http://blog.csdn.net/heimaoxiaozi/archive/2007/01/19/1487884.aspx

    /****************** Exercise 20 ***************** * Repeat Exercise 19 for a three-dimensional * array. ***********************************************/public class E20_ThreeDDoubleArray {  public static double[][][] threeDDoubleArray(    int xLen, int yLen, int zLen,    double valStart, double valEnd){    double[][][] array =      new double[xLen][yLen][zLen];    double increment =      (valEnd - valStart)/(xLen * yLen * zLen);    double val = valStart;    for(int i = 0; i < array.length; i++)      for(int j = 0; j < array[i].length; j++)        for(int k = 0; k < array[i][j].length; k++) {          array[i][j][k] = val;          val += increment;        }    return array;  }  public static  void printArray(double[][][] array) {    for(int i = 0; i < array.length; i++) {      for(int j = 0; j < array[i].length; j++) {        for(int k = 0; k < array[i][j].length; k++)          System.out.println(" " + array[i][j][k]);        System.out.println();      }      System.out.println();    }  }  public static void main(String args[]) {    double[][][] threeD =      threeDDoubleArray(4, 6, 2, 47.0, 99.0);    printArray(threeD);    System.out.println("**********************");    double[][][] threeD2 =      threeDDoubleArray(2, 2, 5, 47.0, 99.0);    printArray(threeD2);    System.out.println("**********************");    double[][][] threeD3 =      threeDDoubleArray(9, 5, 7, 47.0, 99.0);    printArray(threeD3);  }}

    //+M java E20_ThreeDDoubleArray

    **As complex as this might seem, it’s still vastly simpler than doing it in C or C++, and you get array bounds checking built in. In C/C++, if you ran off the end of a mult-dimenstional array, there was a good chance you wouldn’t catch the error.


    最新回复(0)