package s004; import java.io.BufferedReader; import java.io.FileInputStream; import java.io.InputStreamReader; import java.util.ArrayList; public class A extends B{//这里继承a这个类,就可以直接用a里面的方法 /** * @param args */ public static void main(String[] args) { ArrayList<Integer> list=new ArrayList<Integer>(); try { list = key(); } catch (Exception e) { e.printStackTrace(); } int[]arr1=new int[65536];//定义一个一位数组 for(int i=0;i<65536;i++){ arr1[i]=list.get(i); System.out.println(i+":"+arr1[i]); } System.out.println("一维数组相加结果是:"+calarr1(arr1));//打印出结果 int[][]arr2=new int[100][100]; for(int i=0;i<100;i++){ for(int j=0;j<100;j++) { arr2[i][j]=list.get(i*10+j); } } System.out.println("二维数组相加结果是:"+calarr2(arr2));//打印出结果 int [][][]arr3=new int[100][100][100]; for(int i=0;i<100;i++){ for(int j=0;j<100;j++) { for(int k=0;k<100;k++){ arr3[i][j][k]=list.get(i*100+j*10+k);//这里我还是自己赋值 } } } System.out.println("三维数组相加结果是:"+calarr3(arr3));//打印出结果 } public static ArrayList<Integer> key()throws Exception//这个方法用来取数据,并放到一个数组中 { ArrayList<Integer>mylist=new ArrayList<Integer>(); ArrayList<String>list=new ArrayList<String>(); FileInputStream fis=new FileInputStream("d:/work/test2.txt"); InputStreamReader isr=new InputStreamReader(fis); BufferedReader br=new BufferedReader(isr); String str=br.readLine(); while(str!=null) { list.add(str); str=br.readLine(); } br.close(); //截止已经取出所有数据 for(int i=0;i<list.size();i++){//一条数据一条数据分析 String str1=list.get(i); String str2=str1.replace(" ", ",");//把空格换成, String str3=str2.replace(" ", ","); String[] a=str3.split(",");//以,为分隔符将数据放入数组 for(int j=0;j<3;j++){ mylist.add(Integer.valueOf(a[j])); } } return mylist; } }
package s004; import java.util.*; public class B{ public static void main(String[] args){ int a=100; } /** * 计算一维数组的和 */ public static int calarr1(int[]arr){ int sum=0; for(int i=0;i<arr.length;i++){ sum+=arr[i]; } return sum; } /* * 计算二维数组的和 */ public static int calarr2(int[][]arr){ int sum=0; for(int i=0;i<100;i++){//取出a[0][0]到a[99][99]里面的数据并求和 for(int j=0;j<100;j++){ sum=sum+arr[i][j]; } } return sum; } /** * 计算三维数组的和 */ public static int calarr3(int[][][]arr){ int sum=0; for(int i=0;i<100;i++){//取出a[0][0][0]到a[99][99][99]里面的数据并求和 for(int j=0;j<100;j++){ for(int k=0;k<100;k++){ sum=sum+arr[i][j][k]; } } } return sum; } }