https://github.com/miaozhongfeng/my-repository.git浅谈数组求和java实验

          这次作业呢,我是用java来写的,虽然java只是自己假期里看的一点点,但是人总是要接触新事物的,应该不断向前。

         说明:这次作业有一个遗憾,就是我花了一个下午真真没搞懂POI包的使用,是我的智商问题吗?由于作业提交比较急迫,暂时先放弃,用的java的文件流,男人嘛,就是要敢舍敢弃!(是我胡说八道的)。当然,不搞懂它我是不会罢休的!拭目以待!

         好了,不瞎扯了。进入正题吧。我用的编译软件是my Eclipse2014(这个软件不得不说:真TM好用!).

                                                                                                          prog1

       其实这次作业关键就在第一个prog,开始之前主要想到解决这几个问题:1.怎么读取txt文件中的数据,2.怎么把字符转换成我要用的整型元素,3.求和。    求和谁不会呢,主要是前两个,读取Txt用到文件流,好,翻书,引包,建abc.txt,读取。于是就有了  

File file = new File("c://abc.txt");
                                                                           BufferedReader br = new BufferedReader(new FileReader(file));

看起来也不复杂的哈,不过毕竟我只是一个小学生,这点我要再强调一下。字符转换java老师提到了这个函数 

                                                                           Integer.parseInt(tmp);

         好,继续翻资料,网上查,视频找,终于在韩顺平老师的视频里看到了,以前看过,忘了,因为只是看过。小林老师说的对,用的时候学,真真的有效!好,我们继续,下面就是求和了...呃,这个我不想说了。哦对,提醒你一下,使用文件流时要记得用到java内置异常EOFException,不然会报错。好了,上图!

 prog2

           第二题要求能实现任意长度数组相加,要java中的数组必须要先定义长度的,怎么破!别着急,办法总是有的,那就是神奇的集合类,比如我用的这个ArrayList,就可以实现数组的动态变化,上代码:

                                                                           List<Integer> list = new ArrayList<Integer>();

这里引了一个包 import java.util.List;就是这接口,而ArrayList就是她的实现类(对,我感觉List是个女生),从而,用java的输入流写好输入语句,用户确定输入长度,就可以进行下面的工作了,于是同样转换数据类型后就有了

sum+=list.get(i);

 来一波亲测的正确的运行结果~

                                                                                                      prog3  

              我来想想第三个需要解决的问题:需要指定元素的范围,这个好像我就是在prog2的基础上加了一个if语句

                                                                        if(list.get(i)<max&&list.get(i)>min)

              筛选出符合要求的元素,相加求和。要自我批评一下:好像我只有这一题算是符合要求的完成任务了。唉,都是泪。

                                                                                                      bug&suggest

              这个我真真是多的记不清了,有好多低级错误是eclipse帮我改的,高级错误我也弄不出来,毕竟我是小学生。有几点还是要提一提的:1.不要忘记异常抛出,2.读取的数据是字符,不要忘记转换,否则结果不对,3.文件流,集合,不会的函数好好看书吧!(ps:完整代码已上传至github:https://github.com/miaozhongfeng/my-repository.git)

              再见!

时间: 2024-10-28 15:31:45

https://github.com/miaozhongfeng/my-repository.git浅谈数组求和java实验的相关文章

浅谈数组

数组 我们平常在书写代码的时候遇到需要使用多个数据,通过定义多个变量太麻烦了,所以就定义了数组. 数组的概念和作用 数组是一组数据的集合,用来存放多个数据.适用于需要操控多个数据,但是只能使用一个数据的情况. 数组的创建 字面量 var arr = []; 构造函数 var arr = new Array(); 注意事项 当两种方式创建数组,数组参数为1时,如下代码所示 var arr = [5]; //[5]代表数组里只有一个成员5 var arr1 = new Array(5);//[emp

ES6浅谈 -- 数组扩展

1.数组可以用spread参数合并,使用该参数要注意被合并的一定是一个数组对象.另外不管是数组合并还是数组拼接都是浅拷贝,实质是拷贝地址(引用). 2.可以和解构赋值混用,如const [first, ...rest] = [1,2,3,4,5]; 还可以将字符串每个字符拆分然后变成数组元素. 3.Array.from(),将类数组对象和可遍历对象转成数组:Array.of(),将一组值转为数组,与Array不同的是,array只跟一个参数会认为输入了这个数组的长度,而array of则认为是输

ES6浅谈--数组扩展、对象扩展

数组扩展 1.includes()方法,参数为要检测的值.includes方法有点像indexOf(),indexOf未检测到则返回-1,否则返回下标.includes则是返回true或false.includes可以检测NaN.第二个参数表示从什么位置检测. 2.flat和flatMap.flat负责把数组拉平,意思是一个二维数组调用flat方法会变成一维数组.参数传的是数组的维度.例如传2则表示将3维拉成1维.如果数组中有空位则跳过.flatMap有点像flat方法和Map方法的结合.先对每

浅谈数组和链表

?写在前面: 数组和链表是数据结构中最基础的两种结构,其他的都是由这两者转化而来:因此,掌握这两种结构至关重要!下面,时光就带大家来学习一下数组和链表: 思维导图: 1,什么是线性表? 线性表是具有相同类型的n(>=0)个数据元素的有限序列(a0,a1,a2,…,an),ai是表项,n是表长度: 那么为什么要提到线性表呢?因为数组和链表都是线性表的结构,只不过它们的存储方式不一样:根据存储方式不同,可将线性表分为顺序表和链式表:线性表是数据结构中的逻辑结构.可以存储在数组上,也可以存储在链表上.

新手码农浅谈观察者模式(java语言简单实现)

一:什么是观察者模式: 官方定义:定义对象间一种一对多的依赖关系.当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新. 举个例子,很多人都会订阅天气预报,当气象台获得明天的天气情况(目标对象)时,就会短信通知订阅了天气预报的人(观察者),然后订阅者就会根据明天天气情况做出相应的处理(呆在家?出去踏青?出去购物...) 二:观察者模式的两个角色: 第一个角色:目标对象(subject),被观察者关注的对象,它的改变引起观察者的改变,例如上面提到的天气情况. 第二个角色:观察者(o

[OpenSource]浅谈.Net和Java互相调用的三种方式

在很多的大型系统开发中,开发工具往往不限制于同一种开发语言,而是会使用多种开发语言的混合型开发.目前Java和.Net都声称自己占85%的市场份额,不管谁对谁错,Java和.Net是目前应用开发的两个主要阵营,所以Java.和Net之间的整合是大型应用开发过程中经常会面临一个问题. 目前Java和.Net之间的整合主要有三种思路和做法(经过几天的查阅,目前我就看到了这三种方式,可能还有其他的方法): 1)基于通讯协议的整合 基于通讯协议的整合方式,最容易被人首先想到,简单的方式可以通过Web S

浅谈数组与指针

对于一维数组与指针: 对于二维数组与指针:

浅谈 什么是JAVA开发环境、测试环境及生产环境,及它的过程 (转)

从网上整理了一些回答加上个人理解. 环境分以下几种: 1.开发和配置环境:所有的开发和配置在这个环境里进行.一般情况下,只有这个环境可以改配置和进行开发,并且一般不在这个环境下创建数据.(开发环境就是每个开发人员电脑上的开发环境,只有开发人员可以配置和开发,写数据测试放在测试环境) 2.测试环境:新开发和配置通过系统传输到测试环境,进行功能测试,可以创建数据.(开发人员开发完上传到SVN,测试人员下载下来测试.我们公司测试人员不懂IDE,所以是由我们开发人员下载好,他直接通过IP地址访问来测试的

浅谈.Net和Java互相调用的三种方式

在很多的大型系统开发中,开发工具往往不限制于同一种开发语言,而是会使用多种开发语言的混合型开发.目前Java和.Net都声称自己占85%的市场份 额,不管谁对谁错,Java和.Net是目前应用开发的两个主要阵营,所以Java.和Net之间的整合是大型应用开发过程中经常会面临一个问题. 目前Java和.Net之间的整合主要有三种思路和做法(经过几天的查阅,目前我就看到了这三种方式,可能还有其他的方法): 1)基于通讯协议的整合 基于通讯协议的整合方式,最容易被人首先想到,简单的方式可以通过Web