首页 > 技术文章 > 第二次作业(个人项目实践)

purple0109 2015-09-23 19:45 原文

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

 

package xx;
import java.util.Scanner;//导入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};
Scanner se = new Scanner(System.in); System.out.println("从x1开始"); int start = se.nextInt(); System.out.println("到x2结束");//x取值为1-100 int end = se.nextInt(); System.out.println("从"+start+"到"+end+"和为:"); for (int i=start-1;i<=end-1;i++) sum += a[i]; System.out.println(sum); } }

运行结果:

 

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

 

package xx;
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 se = new Scanner(System.in);
        System.out.println("从x1开始");
        int start1 = se.nextInt(); 
        System.out.println("到x2结束");//x取值为1-2
        int end1 =se.nextInt();
        System.out.println("从y1开始");
        int start2 = se.nextInt(); 
        System.out.println("到y2结束");//y取值为1-100
        int end2 =se.nextInt();
        System.out.println("从("+start1+","+start2+")到"+"("+end1+","+end2+")的和为");
        for(int i=start1-1;i<=end1-1;i++)
        {
            for(int j=start2-1;j<=end2-1;j++)
            {
            sum+=a[i][j];
            }
        }
        System.out.println(sum);  
    }
}

 运行结果:

 

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

 

package xx;
import java.util.Scanner;
public class C {
    public static void main(String[]args){
        int sum=0;
        int[][][] a = new int[][][]
           {
{{-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 se = new Scanner(System.in) ; System.out.println("从x1开始"); int start1 = se.nextInt() ; System.out.println("到x2结束");//x取值为1-3 int end1 =se.nextInt(); System.out.println("从y1开始"); int start2 = se.nextInt() ; System.out.println("到y2结束");//y取值为1 int end2 =se.nextInt(); System.out.println("从z1开始"); int start3 = se.nextInt() ; System.out.println("到z2结束");//z取值为1-100 int end3 =se.nextInt(); System.out.println("从("+start1+","+start2+","+start3+")到"+"("+end1+","+end2+","+end3+")的和为:"); for(int i=start1-1;i<=end1-1;i++) { for(int j=start2-1;j<=end2-1;j++) { for(int q=start3-1;q<=end3-1;q++) { sum+=a[i][j][q]; } } } System.out.println(sum); } }

运行结果:

 

小结:

这次作业完成起来不是很顺利,一开始不明白题目的意思,后来和同学交流才知道要做什么。但是怎样导入数据又是一个难题,直接导入又不会,最后还是借鉴了同学的方法。编写程序中了Scanner类的nextInt()方法,for语句循环。调试过程中,也出现了问题,后来才明白是取值出现了问题。做这个程序,感觉自己掌握的有限,一些基础知识也不明白,在今后的学习中,还需要多多磨练自己。

 

 

 

 

 

 

 

推荐阅读