标签:
上网搜索了一下,知道了.CSV文件是以逗号分割的数据仓储,读取数据时从每一行中读取一条数据元祖,也就是一条数
据,再用字符分割的方式获取表中的每一个数据项。试着用记事本方式打开了一下,果然是这样。如图:
准备工作差不多完成了,发现自己还不知道怎么读取.csv里的数据,果断又去百度了
http://www.educity.cn/java/627496.html(简洁易懂!!!!!)
关于实验结果的验证:可以用过excel打开.csv文件,然后检验实验数据之和。(简化书写量,每个prog只上传一次测试结果)
* 实现数组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 }
实验结果:
验证:
* 能实现任意长度数组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 }
实验结果:
验证:
* 实现任意长度数组,指定范围内元素相加
* 数组长度:任意
* 数组数据来源:从文件中读取
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