第二次作业(个人项目实践)

1.设计一个A类,实现对一维数组的指定范围内的元素的相加运算

源代码:

 1 package s001;
 2 import java.util.Scanner;
 3 public class A {
 4
 5
 6     public static int count(int[]arr,int start,int end,int sum){
 7
 8
 9         for(int i=start;i<=end;i++)
10             sum+=arr[i];
11         return sum;
12     }
13     public static void main(String[] args) {
14
15        int s=0;
16
17        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};
18
19     Scanner sc=new Scanner(System.in);
20       System.out.println("请依次输入m、n:");
21        int m= sc.nextInt();
22        int n=sc.nextInt();
23          System.out.println("m为:" +m);
24           System.out.println("n为:" +n);
25
26        A.count(a,m,n,s );
27
28       System.out.println("sum="+A.count(a, m, n, s));
29     }
30 }

A测试:

验证:

2.设计一个B类,实现对二维数组内指定范围内元素的相加运算

 1 package s001;
 2 import java.util.Scanner;
 3
 4 public class B {
 5
 6   public static int count(int[][]arr,int start1,int start2,int end1,int end2,int sum){
 7
 8       for(int i=start1;i<=end1;i++)
 9          {
10              for(int j=start2;j<=end2;j++)
11              {
12                  sum+=arr[i][j];
13              }
14          }
15        return sum;
16
17     }
18
19     public static void main(String[] args) {
20
21          int s=0;
22          int[][] b=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}};
23
24          Scanner sc = new Scanner(System.in);
25          System.out.println("请输入m1,n1,m2,n2:");
26
27           int m1 = sc.nextInt();
28           int n1 = sc.nextInt();
29
30              System.out.println("m1=" +m1);
31              System.out.println("n1=" +n1);
32
33           int m2 = sc.nextInt();
34           int n2= sc.nextInt();
35
36              System.out.println("m2=" +m2);
37              System.out.println("n2=" +n2);
38
39           B.count(b,m1,n1,m2,n2,s );
40              System.out.println("sum="+B.count(b,m1,n1,m2,n2,s ));
41     }
42
43 }

B测试:

验证:

3.设计一个C类,实现对三维数组的指定范围内的元素相加运算

 1 package s001;
 2 import java.util.Scanner;
 3
 4 public class C {
 5
 6     public static int count(int[][][]arr,int start1,int end1,int start2,int end2,int start3,int end3,int sum){
 7
 8         for(int i=start1;i<=end1;i++)
 9          {
10              for(int j=start2;j<=end2;j++)
11              {
12                  for(int k=start3;k<=end3;k++)
13                  {
14                      sum+=arr[i][j][k];
15
16                  }
17
18              }
19          }
20           return sum;
21
22     }
23     public static void main(String[] args) {
24
25          int s=0;
26          int[][][] c = new int[][][]{
27            {{-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}},
28            {{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}},
29            {{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}}
30
31         };
32        Scanner sc= new Scanner(System.in) ;
33          System.out.println("请输入m1,n1,m2,n2,m3,n3:");
34            int m1 = sc.nextInt();
35            int n1 = sc.nextInt();
36               System.out.println("m1=" +m1);
37               System.out.println("n1=" +n1);
38
39            int m2 = sc.nextInt();
40            int n2= sc.nextInt();
41               System.out.println("m2=" +m2);
42               System.out.println("n2=" +n2);
43
44            int m3 = sc.nextInt();
45            int n3= sc.nextInt();
46               System.out.println("m3=" +m3);
47               System.out.println("n3=" +n3);
48
49            C.count(c,m1,n1,m2,n2,m3,n3,s );
50               System.out.println("sum="+C.count(c,m1,n1,m2,n2,m3,n3,s ));
51    }
52
53
54 }

C测试:

验证:

小结:

最开始做这个题目的时候,没有理解老师的意思,完全跑题了。后来看了班上同学和老师们的聊天记录,才知道自己想偏了。可是还是不知道从何下手,后来参考了一下林杰同学做的,有一点点思路了却还是不怎么明确。后来看到了宝玉老师和鞠老师说的,有了一点点启发。迫于作业截止时间快到了,就先把做的东西发上来,再慢慢改进吧,看到这么繁琐的代码我也是醉了。希望老师可以指导一下

时间: 2024-10-12 13:41:06

第二次作业(个人项目实践)的相关文章

第二次作业——个人项目实战:数独

1.阅读 刚开始泛看<构建之法>的时候,还是觉得非常难理解里面的内容,特别是代码部分.后来第二次拿起这本书,从第一章开始看起,慢慢了解了"软件企业=软件+商业模式"和对软件工程的定义,但是更多地还是记忆了一遍,没有明白这里面的深意:看第二章的时候,跟着单元测试.回归测试的.效能分析的内容自己照着书上的代码敲了一敲,偶尔会出现bug,但是能得到书上所说的效果还是很开心的,效能分析,感觉就是代码的效率问题,追求高效,然后接触到了软件工程师的一套模型-个人开发流程PSP,我也尝试

第二次作业——结对项目之需求分析与原型模型设计

031302331 031302223  汇总课表的困扰 针对汇总课表巨大的工作量,我们首先构建了NABCD模型: 一.下面是我们对汇总Excell项目的NABCD模型的理解 1.N(Need,需求) 对象:A.教务处:每个学期中间,第6周,教务处都要发布下学期的开课计划,而如果教务处群发邮件,显得有些麻烦,可以设计一个网站,教务处可以不用群发邮件给老师,减轻工作量. B.老师:开课计划书以群发邮件的形式发给所有老师后,而老师要在规定的时间内,将自己的名字填入自己希望报的课程的那一行 “任课教师

第二次作业--结对项目之需求分析与原型模型设计

备注:苏逸豪031302117 张建平031302528 采用的原型模型:Axure Rp讨论.细化和使用专用原型模型工具时的结对照片: 1>N(Need 需求) 通过客户的描述了解到,目前客户的困难在于教务处每学期第6周都会发布下学期开课计划,并且人工的吧计划书以邮件的形式群发给所有老师,老师则以邮件形式回复负责人,并且专人进行统计.这样做不仅工作量巨大,并且出错的可能性也不小.同时了解到学院没有专门针对这项工作的系统,因此我们认为设计一个选课开课系统是很有必要的,可以人工控制,把收发邮件以及

第六周作业:《人月神话》对我做项目实践的启示(一)

<人月神话>这本书有两个老师都有给我们推荐,第一个老师推荐时不以为然,第二个老师也推荐时,自己感觉应该是挺重要的吧,于是去图书馆借了这本书来看,刚借回来时,总觉得时间不够.作业很多,也没来的及看,就一直搁置在了那里,直到上周,在我们的项目实践开始近三周,但进度却一直赶不上来的情况下,看到了这本书,才拿起来看.目前还没看完,先写一点儿领悟到的东西. 作者从焦油坑,提出项目失败的表现,把过去几十年的大型系统开发比作一个炼焦坑,各种团队一个个地淹没在焦油坑,他们都试图解决面对的问题,但他们都必须去了

软件工程 第二周作业

##软件工程第二周作业 提出问题 1. 一般来说,想要自己的程序跑得又快又好,就要减少函数的反复调用,但有所得则必有所失,效能提高就有可能伴随着程序的稳定性的降低,这两者应该如何权衡呢? 2. 关于5.3.5 老板驱动的流程,这种开发流程模式存在着一些问题,那要如何解决这些问题呢? 这种模式当然也有它的问题. 领导对许多技术细节是外行. 领导未必懂得软件项目的管理,领导的权威影响了自由的交流和创造. 领导最擅长的管理方式是行政命令,这未必能管好软件团队或任何需要创造力的团队. 领导的精力有限,领

linux驱动开发重点关注内容--摘自《嵌入式Linux驱动模板精讲与项目实践》

本文摘自本人拙著 <嵌入式Linux驱动模板精讲与项目实践> 初步看起来Linux设备驱动开发涉及内容非常多,而须要实现驱动的设备千差万别.事实上做一段时间驱动之后回首看来主要就是下面几点: (1)对驱动进行分类.先归纳为哪个类型的驱动.归类正确再利用内核提供的子系统进行开发,往往会发现事实上非常多通用的事情内核已经帮我们做了,一个优秀的驱动project师应该最大程度上利用内核的资源.内核已经实现的毕竟稳定性强.可移植性高. (2)找到内核的提供的子系统.接下来就是要制作该子系统对该类设备提

MVC项目实践,在三层架构下实现SportsStore-02,DbSession层、BLL层

SportsStore是<精通ASP.NET MVC3框架(第三版)>中演示的MVC项目,在该项目中涵盖了MVC的众多方面,包括:使用DI容器.URL优化.导航.分页.购物车.订单.产品管理.图像上传......是不错的MVC实践项目,但该项目不是放在多层框架下开发的,离真实项目还有一段距离.本系列将尝试在多层框架下实现SportsStore项目,并用自己的方式实现一些功能. 本篇为系列第二篇,包括: ■ 4.三层架构设计    □ 4.2 创建DbSession层 数据访问层的统一入口   

2017秋-软件工程第二次作业

本周因为个人缘故,参加社团活动作业没能及时完成.对此我表示,做过就不后悔,至少我觉得生活是丰富多彩的,错过的时间就应该努力赶上!夜深人静的时候总是可以让人反省自己.本次作业我只实现了第一个功能和第二个功能的部分.对此我表示很不满,但是时间紧迫.个人能力有限,以至于自己没能让自己的软件看起来完美. 第二次作业的内容非常有趣,这也是我一直想做的一件事情,统计一篇文章里的字词.我知道自己的编程能力较差.距离完成提交时间很近,自己手写全部是不能及时按照约定提交的,于是就尝试借鉴前人的代码.第一晚的努力各

《Java项目实践》:简单聊天程序

<Java项目实践>:简单聊天程序 由于这个简单程序,还是涉及到很多的知识点,下面我们就一点一点的来完成. 我们熟悉的QQ聊天,就有一个界面,是吧,我们自己做一个简单的聊天程序,因此我们也就需要为Client写一个界面.因此,这就是我们第一步需要完成的任务. 第一步:为Client端写一个界面 完成一个界面有两种方法,一种是使用Frame对象来完成,另外一种是继承JFrame类来完成.本项目使用第二种. 第二种继承JFrame类完成的界面的程序如下: public class ChatClie

Django项目实践4 - Django网站管理(后台管理员)

http://blog.csdn.net/pipisorry/article/details/45079751 上篇:Django项目实践3 - Django模型 Introduction 对于某一类站点, 管理界面 是基础设施中很重要的一部分. 这是以网页和有限的可信任管理者为基础的界面,它能够让你加入,编辑和删除站点内容. 常见的样例: 你能够用这个界面公布博客,后台的站点管理者用它来润色读者提交的内容,你的客户用你给他们建立的界面工具更新新闻并公布在站点上.这些都是使用管理界面的样例. 创