zoukankan      html  css  js  c++  java
  • 第二次作业

    1. 设计一个类(不妨叫做A ),实现对一维数组(a[100])的指定范围内的元素相加运算。

    package hw2;
    import java.util.Scanner;//从键盘输入数据需scanner
    public class A{
        public static void main(String[]args){
            int[] a={-2574,-4010,8243,771,2447,-5197,2556,8044,3314,3617,6065,-2817,3131,6318,2186,-113,629,-2582,-37,-1520,164,2055,-5936,5912,1717,5988,4781,5757,892,-4394,8034,2213,-1080,-2080,5364,106,2657,566,3940,-5116,4583,1806,6555,2621,-7197,528,1626,18,1049,6243,3198,4397,-1325,9087,936,-6291,662,-178,135,-3473,-2385,-165,1713,-7949,-4234,1138,2212,104,6968,-3632,3801,1137,-1296,-1215,4272,6223,-5922,-7723,7044,-2938,-8180,1356,1159,-4022,-3713,1158,-8715,-4081,-2541,-2555,-2284,461,940,6604,-3631,3802,-2037,-4354,-1213,767};
            int sum=0;//存放和
            Scanner arr=new Scanner(System.in);//实例化对象,用arr调用方法          
            System.out.println("起点x1");//表示从第x1开始
            int x1=arr.nextInt() ;
            System.out.println("终点x2");//表示在第x2结束
            int x2=arr.nextInt();
            for(int i=x1-1;i<=x2-1;i++)//数组a[i]表示第(i-1)个,因为第一个数组为a[0]而不是a[1]
                sum+=a[i];//累计求和
            System.out.println("从"+x1+"到"+x2+"的和为");
            System.out.println(sum);
        }
    }

    运行结果:

    2. 设计一个类(不妨叫做B ),实现对二维数组(a[N][M])的指定范围内的元素相加运算。

    package hw2;
    import java.util.Scanner;
    public class B{
        public static void main(String[]args){
            int[][] a={{-2574,-4010,8243,771,2447,-5197,2556,8044,3314,3617,6065,-2817,3131,6318,2186,-113,629,-2582,-37,-1520,164,2055,-5936,5912,1717,5988,4781,5757,892,-4394,8034,2213,-1080,-2080,5364,106,2657,566,3940,-5116,4583,1806,6555,2621,-7197,528,1626,18,1049,6243,3198,4397,-1325,9087,936,-6291,662,-178,135,-3473,-2385,-165,1713,-7949,-4234,1138,2212,104,6968,-3632,3801,1137,-1296,-1215,4272,6223,-5922,-7723,7044,-2938,-8180,1356,1159,-4022,-3713,1158,-8715,-4081,-2541,-2555,-2284,461,940,6604,-3631,3802,-2037,-4354,-1213,767},{2740,-4182,-5632,-2966,-1953,567,-8570,1046,2211,1572,-2503,-1899,3183,-6187,3330,3492,-464,-2104,316,8136,470,50,466,-1424,5809,2131,6418,-3018,6002,-8379,1433,1144,2124,1624,-602,-5518,5872,870,-5175,-3961,-427,-6284,2850,481,6175,141,-766,-1897,-748,-4248,366,4823,3003,1778,3256,2182,2253,5076,5540,-2650,2451,-1875,5482,-6881,-329,-969,-8032,-2093,612,1524,-5492,5758,-7401,-5039,3241,6338,3581,4321,-1072,4942,2131,210,-7045,-7514,7450,-1142,-2666,-4485,-639,2121,-5298,-3805,-1686,-2520,-1680,2321,-4617,-1961,2076,7309}};
            int sum=0;
            Scanner arr=new Scanner(System.in);
            System.out.println("起点x1");//将二维数组看作是平面直角坐标系,有x,y两个坐标
            int x1=arr.nextInt(); 
            System.out.println("终点x2");//x取值为1,2
            int x2=arr.nextInt();
            System.out.println("起点y1");
            int y1=arr.nextInt(); 
            System.out.println("终点y2");//y取值为1-100
            int y2=arr.nextInt();
            for(int i=x1-1;i<=x2-1;i++){
                for(int j=y1-1;j<=y2-1;j++){
                    sum+=a[i][j];
                }
            }
            System.out.println("从("+x1+","+y1+")到"+"("+x2+","+y2+")的和为");
            System.out.println(sum);  
        }
    }

    运行结果:

    3. 设计一个类(不妨叫做C ),实现对三维数组(a[N][M][K])的指定范围内的元素相加运算。

    package hw2;
    import java.util.Scanner;
    public class C{
        public static void main(String[]args){
            int sum=0;
            int[][][] a={
                    {{-2574,-4010,8243,771,2447,-5197,2556,8044,3314,3617,6065,-2817,3131,6318,2186,-113,629,-2582,-37,-1520,164,2055,-5936,5912,1717,5988,4781,5757,892,-4394,8034,2213,-1080,-2080,5364,106,2657,566,3940,-5116,4583,1806,6555,2621,-7197,528,1626,18,1049,6243,3198,4397,-1325,9087,936,-6291,662,-178,135,-3473,-2385,-165,1713,-7949,-4234,1138,2212,104,6968,-3632,3801,1137,-1296,-1215,4272,6223,-5922,-7723,7044,-2938,-8180,1356,1159,-4022,-3713,1158,-8715,-4081,-2541,-2555,-2284,461,940,6604,-3631,3802,-2037,-4354,-1213,767}},
                    {{2740,-4182,-5632,-2966,-1953,567,-8570,1046,2211,1572,-2503,-1899,3183,-6187,3330,3492,-464,-2104,316,8136,470,50,466,-1424,5809,2131,6418,-3018,6002,-8379,1433,1144,2124,1624,-602,-5518,5872,870,-5175,-3961,-427,-6284,2850,481,6175,141,-766,-1897,-748,-4248,366,4823,3003,1778,3256,2182,2253,5076,5540,-2650,2451,-1875,5482,-6881,-329,-969,-8032,-2093,612,1524,-5492,5758,-7401,-5039,3241,6338,3581,4321,-1072,4942,2131,210,-7045,-7514,7450,-1142,-2666,-4485,-639,2121,-5298,-3805,-1686,-2520,-1680,2321,-4617,-1961,2076,7309}},
                    {{302,-7944,-6551,6648,-884,-6332,1188,-248,3902,-2171,-3782,-3510,6203,-636,-4605,4497,3187,-6278,1198,-7963,7647,-3022,-8267,7995,-1998,-4171,730,-8117,-1706,7601,-2454,-6161,-1810,243,-2841,-5377,2985,2328,177,5622,3596,3057,2830,-1151,6566,2254,6972,-3060,4063,367,84,3156,3880,-1530,5272,1385,-565,-1736,1267,-3863,-229,2072,2423,-7449,9555,2844,-1278,-3613,-919,4153,-4232,4032,-5732,199,4792,2498,-3344,-4193,2650,-579,3416,-3575,1822,-6936,-2661,-1873,414,2314,6844,7613,-7844,6680,5974,2208,-3597,6302,4396,-141,-1864,1939}}
            };
            Scanner arr=new Scanner(System.in) ;
            System.out.println("起点x1");//将三维数组看作是空间直角坐标系,有x,y,z三个坐标
            int x1=arr.nextInt();
            System.out.println("终点x2");//x取值1,2,3
            int x2=arr.nextInt();
            System.out.println("起点y1");
            int y1=arr.nextInt();
            System.out.println("终点y2");//y取值1
            int y2=arr.nextInt();
            System.out.println("起点z1");
            int z1=arr.nextInt();
            System.out.println("终点z2");//z取值1-100
            int z2=arr.nextInt();
            for(int i=x1-1;i<=x2-1;i++){
                for(int j=y1-1;j<=y2-1;j++){
                    for(int k=z1-1;k<=z2-1;k++){
                        sum+=a[i][j][k];
                    }
                }
            }
            System.out.println("从("+x1+","+y1+","+z1+")到"+"("+x2+","+y2+","+z2+")的和为");
            System.out.println(sum);
        }
    }

    运行结果:

    小结:

      数组的数据是由老师提供的,数据量不算大但也决不算小,数据的导入是由人工完成的,感觉挺麻烦的,但是直接导入又不会,尽管网上找了找看了看,还是理解不了。程序用scanner类和nextint()方法来从键盘中获取数据,数组的输出用for循环语句,在三维数组中用到了三重循环。在调试过程中,前两个没遇到什么大问题,最后一个输入数据后一直出现问题,还又是英文的注释,没有看懂,不过幸好舍友提醒了我取值的范围,才发现我的确是取值出了问题,最后总算是弄了出来,虽然并没有完全的靠自己,询问借鉴了别人,但是还是挺高兴的,毕竟自己能搞出些东西。

      做这个Java程序,感觉自己学的不够,很多基础的也都不行,今后会多看书多练习,慢慢巩固积累,学会更多的java知识和软件工程知识。

  • 相关阅读:
    Linux常用基本命令:三剑客命令之-awk数组用法
    Linux常用基本命令:三剑客命令之-awk动作用法(1)
    Linux常用基本命令:三剑客命令之-awk模式用法(2)
    Linux常用基本命令:三剑客命令之-awk模式用法(1)
    Linux常用基本命令:三剑客命令之-awk格式化动作
    Linux常用基本命令:三剑客命令之-awk内置变量与自定义变量
    Linux常用基本命令:三剑客命令之-awk输入输出分隔符
    Linux常用基本命令:三剑客命令之-awk基础用法
    Linux环境变量详解与应用
    在js中怎么判断两个字符串相等
  • 原文地址:https://www.cnblogs.com/EZ18/p/4829618.html
Copyright © 2011-2022 走看看