码迷,mamicode.com
首页 > 编程语言 > 详细

数组求和

时间:2016-03-07 22:25:35      阅读:298      评论:0      收藏:0      [点我收藏+]

标签:

 


  • 开发语言:Java
  • 开发工具:Eclipse

  •  数据文件选择:刚开始觉得excel比较熟悉就选了它,但是操作起来感觉好麻烦,果断换了.csv那个文件,感觉好多了。

上网搜索了一下,知道了.CSV文件是以逗号分割的数据仓储,读取数据时从每一行中读取一条数据元祖,也就是一条数

据,再用字符分割的方式获取表中的每一个数据项。试着用记事本方式打开了一下,果然是这样。如图:

技术分享


准备工作差不多完成了,发现自己还不知道怎么读取.csv里的数据,果断又去百度了

http://www.educity.cn/java/627496.html(简洁易懂!!!!!)

 


 关于实验结果的验证:可以用过excel打开.csv文件,然后检验实验数据之和。(简化书写量,每个prog只上传一次测试结果)


 

  •  Prog1

* 实现数组a[]元素求和
* 数组长度:100
* 数组数据来源:CSV 格式填充 前100个数据

 1 import java.io.BufferedReader;  
 2 import java.io.FileReader;
 3 /** 
 4 * @author Grass 
 5 * 实现数组a[]元素求和
 6 * 数组长度:100
 7 * 数组数据来源:CSV 格式填充 前100个数据
 8 */
 9 public class Prog1 {
10     public static void main(String[] args) {
11         try {  
12             int[] a=new int[100];
13             BufferedReader reader = new BufferedReader(new FileReader("j://work.csv"));
14             String line = null;
15             int xb=0;//数组下标初始化
16             int sum=0;//数组和
17             while((line=reader.readLine())!=null&&xb<100){  //读取前100数据
18                 String item[] = line.split(",");//根据逗号切分     
19                 String first = item[item.length-3];//第一列数据 
20                 int value = Integer.parseInt(first);//转换成整形数据 
21                 a[xb]=value;
22                 sum+=a[xb];
23                 xb++;
24             }  
25             System.out.println("结果:"+sum);
26         } catch (Exception e) {  
27             e.printStackTrace();  
28         } 
29     }  
30 }

 

实验结果:

技术分享

验证:

技术分享

 


  •  Prog2

* 能实现任意长度数组a[]所有元素求和
* 数组长度:任意
* 数组数据来源:实验数据A列

 1 import java.io.BufferedReader;  
 2 import java.io.FileReader;
 3 import java.util.Scanner;
 4 /** 
 5 * @author Grass 
 6 * 能实现任意长度数组a[]所有元素求和
 7 * 数组长度:任意
 8 * 数组数据来源:实验数据A列
 9 */
10 public class Prog2 {
11     public static void main(String[] args){
12         try { 
13             System.out.println("输入数组长度:");
14             Scanner input=new Scanner(System.in);
15             int num=input.nextInt();
16             int[] a=new int[num];
17             BufferedReader reader = new BufferedReader(new FileReader("j://work.csv"));
18             String line = null;
19             int xb=0;//数组下标初始化
20             int sum=0;//数组和
21             while((line=reader.readLine())!=null&&xb<num){  //读取前num个数据
22                 String item[] = line.split(",");//根据逗号切分     
23                 String first = item[item.length-3];//第一列数据 
24                 int value = Integer.parseInt(first);//转换成整形数据 
25                 a[xb]=value;
26                 sum+=a[xb];
27                 xb++;
28             }  
29             System.out.println("结果:"+sum);
30         } catch (Exception e) {  
31             e.printStackTrace();  
32         } 
33     }  
34 }

 

实验结果:

技术分享

验证:

技术分享

 


  •  Prog3

* 实现任意长度数组,指定范围内元素相加
* 数组长度:任意
* 数组数据来源:从文件中读取

import java.io.BufferedReader;  
import java.io.FileReader;
import java.util.Scanner;
/** 
* @author Grass 
* 实现任意长度数组,指定范围内元素相加
* 数组长度:任意
* 数组数据来源:从文件中读取
*/
public class Prog3 {

    public static void main(String[] args) {
        try { 
            System.out.println("输入数组长度:");
            Scanner input0=new Scanner(System.in);
            int num=input0.nextInt();
            int[] a=new int[num];
            BufferedReader reader = new BufferedReader(new FileReader("j://work.csv"));
            String line = null;
            int xb=0;//数组下标初始化
            int sum=0;//数组和
            int start,end;//求和区间首尾
            int judge=0;//用于判定
            System.out.println("输入求和区间(从0开始):");
            do{ 
                if(judge==1)
                {
                    System.out.println("输入不合理,重新输入求和区间(从0开始):");
                }
                Scanner input1=new Scanner(System.in);
                start=input1.nextInt();
                Scanner input2=new Scanner(System.in);
                end=input2.nextInt();
                judge=1;
            }while(end<=start||end>=num||start<0);//判断区间是否合理
            while((line=reader.readLine())!=null&&xb<num){  //读取前num个数据
                String item[] = line.split(",");//根据逗号切分     
                String first = item[item.length-3];//第一列数据 
                int value = Integer.parseInt(first);//转换成整形数据 
                a[xb]=value;
                if(xb>=start&&xb<=end)
                {
                    sum+=a[xb];
                }
                xb++;
            }  
            System.out.println("结果:"+sum);
        } catch (Exception e) {  
            e.printStackTrace();  
        } 
    }

 

实验结果:

技术分享

验证:

技术分享

 



 这学期刚开始学java,这次实践学到了不少东西,比如说.csv文件是什么样的、怎么使用java读取其中的数据……

2016-03-07

数组求和

标签:

原文地址:http://www.cnblogs.com/c2016/p/5251973.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!