- 浏览: 72465 次
- 性别:
- 来自: 西安
文章分类
最近闲着没事, 拿出java课本的两道题 ,用烦了Struts spring , hibernate ,
基础的程序觉得挺有意思的。 故上到博客里, 大家有时间也做一做。 限半个小时完成。
题目:在控制台输入几个学生的基本信息,(包括姓名, 学号, java学科成绩), 并统计学生的总分, 平均分 , 并将学生的基本信息和计算结果保存到文件“Student.txt”;然后再在“Student.txt”中读取保存的嘘声的基本数据, 将java课的成绩递减排序, 并输出最高分和最低分, 将嘘声的基本信息和排序结果保存到文件“StudentScore.txt”中。
先编写一个学生类:
这个是控制台读取信息并输出信息,
这个是从student.txt 读取信息并处理的类。
基础的程序觉得挺有意思的。 故上到博客里, 大家有时间也做一做。 限半个小时完成。
题目:在控制台输入几个学生的基本信息,(包括姓名, 学号, java学科成绩), 并统计学生的总分, 平均分 , 并将学生的基本信息和计算结果保存到文件“Student.txt”;然后再在“Student.txt”中读取保存的嘘声的基本数据, 将java课的成绩递减排序, 并输出最高分和最低分, 将嘘声的基本信息和排序结果保存到文件“StudentScore.txt”中。
先编写一个学生类:
package lyx.com.cn; /** * @author 李亚希 天豪工作室 2009-8-27 */ public class Student { public String name; // 姓名 public String stuNo;// 学号 public float javaScore;// Java学课的成绩 public Student() { } public Student(String name, String stuNo, float javaScore) { this.name = name; this.stuNo = stuNo; this.javaScore = javaScore; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getStuNo() { return stuNo; } public void setStuNo(String stuNo) { this.stuNo = stuNo; } public float getJavaScore() { return javaScore; } public void setJavaScore(float javaScore) { this.javaScore = javaScore; } }
这个是控制台读取信息并输出信息,
package lyx.com.cn; import java.io.BufferedReader; import java.io.FileWriter; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.List; /** * @author 李亚希 天豪工作室 2009-8-27 */ public class JavaScore { public InputStreamReader in; public BufferedReader br; public FileWriter fw; public JavaScore() throws IOException { in = new InputStreamReader(System.in); br = new BufferedReader(in); fw = new FileWriter("student.txt"); } public void outStudentInfo() { System.out.println("请输入5个学生的信息, 分别为 姓名、学号 、java成绩 。信息之间以\",\" 隔开。 每个学生一行 ,输入quit即可退出系统"); List<Student> stuList = new ArrayList<Student>(); String[] stuInfo = new String[3]; try { String str = br.readLine(); while (!"quit".equals(str)) { Student stu = new Student(); System.out.println(str); fw.write(str + "\r\n"); stuInfo = str.split(","); stu.setName(stuInfo[0]); stu.setStuNo(stuInfo[1]); stu.setJavaScore(Float.parseFloat(stuInfo[2])); stuList.add(stu); str = br.readLine(); } float sumScore = 0.0f; for (Student s : stuList) { sumScore += s.getJavaScore(); } String info = "总成绩:" + sumScore + " 平均成绩" + sumScore / stuList.size(); System.out.println(info); fw.write(info); in.close(); br.close(); fw.close(); } catch (IOException e) { e.printStackTrace(); } } public static void main(String[] args) { JavaScore js; try { js = new JavaScore(); js.outStudentInfo(); } catch (IOException e) { e.printStackTrace(); } } }
这个是从student.txt 读取信息并处理的类。
package lyx.com.cn; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.util.ArrayList; import java.util.List; /** * @author 李亚希 天豪工作室 2009-8-28 */ public class ReadJavaScore { public FileReader fr; public FileWriter fw; public BufferedReader br; public BufferedWriter bw; public ReadJavaScore() throws FileNotFoundException, IOException { fr = new FileReader("student.txt"); br = new BufferedReader(fr); fw = new FileWriter("studentScore.txt"); bw = new BufferedWriter(fw); } public Student[] readFile() throws IOException, NullPointerException { List<String> list = new ArrayList<String>(); String str = new String(); while ((str = br.readLine()) != null) { System.out.println(str); list.add(str); } list.remove(list.size() - 1); Student[] stus = new Student[list.size()]; String[] stuInfo = new String[3]; for (int i = 0; i < list.size(); i++) { Student stu = new Student(); String info = list.get(i); stuInfo = info.split(","); stu.setName(stuInfo[0]); stu.setStuNo(stuInfo[1]); stu.setJavaScore(Float.parseFloat(stuInfo[2])); stus[i] = stu; } fr.close(); br.close(); return stus; } public Student[] sort(Student[] ss) { for (int i = 0; i < ss.length - 1; i++) { for (int j = i + 1; i < ss.length; i++) { Student temp; if (ss[i].getJavaScore()< ss[j].getJavaScore()) { temp = ss[j]; ss[j] = ss[i]; ss[i] = temp; } } } return ss; } public void writerToFile(Student[] ss) throws IOException { bw.write("学生信息如下:"); bw.newLine(); bw.write("姓名: \t 学号\t Java成绩(单位分)"); bw.newLine(); for (int i = 0; i < ss.length; i++) { bw.write(ss[i].getName() + "\t" + ss[i].getStuNo() + "\t" + ss[i].getJavaScore()); bw.newLine(); } bw.write("最高成绩:" + ss[0].getJavaScore() + "\t" + ss[ss.length - 1].getJavaScore()); bw.close(); System.out.println("最高成绩:" + ss[0].getJavaScore() + "\t" + ss[ss.length - 1].getJavaScore()); } public static void main(String[] args) { try { ReadJavaScore rjs = new ReadJavaScore(); Student[] ss = rjs.sort(rjs.readFile()); rjs.writerToFile(ss); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }
发表评论
-
postgres java
2013-04-21 22:51 714postgres sql jdbc doc -
Java NIO连接socket
2012-03-24 02:18 1564NIO连接socket 一个是服务器端,一个是客户端,都是用N ... -
java NIO入门教程和实例代码
2012-03-19 23:32 808java NIO入门教程和实例代码 -
Java中ArrayList和LinkedList区别
2011-08-23 00:06 742一般大家都知道ArrayList和LinkedList的大致区 ... -
Hashtable和HashMap的区别
2011-08-22 23:04 758HashTable的应用非常广泛 ... -
Java中null关键字的用法
2011-08-22 23:03 1558一、null是代表不确定的对象Java中,null是一个关键字 ... -
java 文件锁
2011-02-21 01:02 31351:在javaN(new)IO 中提供了文件锁的功能, 这样 ... -
一个关于抽象类和接口的程序题
2011-01-06 20:10 742程序改错题: 原题是: package com. ... -
利用java可变参数初始化数组
2010-12-30 22:12 1408前几天初始化一维数组时 ,突发奇想利用java 5.0 以 ... -
java数组的排序和求数组中的最大值和最小值
2010-12-30 22:02 57772010-12-28 到 博彦科技去面试的一个面试题 ... -
java二维数组
2010-12-30 21:53 1274java 二维数组前几天面试时, 面试提既然考的是二维数组。 ... -
java5.0以后才有的枚举类型2
2009-09-06 17:48 954可以通过enum关键字来定义枚举类型时,例如下形式: ... -
java5.0以后才有的枚举类型1
2009-09-06 17:15 797在程序中经常要用到一些常数。 在jdk1.4 以前我们只能通过 ... -
java5.0以后才有的可变参数的方法
2009-09-05 15:29 1083java5.0以后才有的可变参数的方法,形式如下: 方法名 ... -
java 5.0以后才有的for循环2
2009-09-04 23:25 906//假设已有一个User[] us 的非空数组。 fo ... -
java 5.0以后才有的for循环
2009-09-04 22:55 763java 5.0以后才有的for循环 它主要和泛型结合才好用。 ...
相关推荐
import java.util.Scanner; public class v { /* * Merry Christams!!! */ public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.print("请输入要祝福人的名字:"); ...
一道有趣的java笔试题.
JAVA界面的一道题
是一道java课后题,在netbeans环境下实现
原创一道Java笔试面试题考考大家!附带答案!
JAVA的一道作业,关于应聘者的,就是普通的功能
java题库,理论方面,去刷!我期末97,就错一道填空题!
java面试题之行列转换 Oracle 和SQLServer两种方式 详细例子以及说明 一条语句实现,绝对看得懂! 方便理解!
java的一道考试题,想到解决方法的,实现起来不难
nitpro 初级java工程师的考试考证样题,我以前好难都打不到,方便大家了
Java每日一题20160906,每日一道Java编程题,提高自己
java截取字符串,一道面试题。好像没有找到正确答案,今天找时间做了一个,仅供参考。本人运行过了。
一道树状结构维护成页面表格的试题,挺有意思的~
精选java关于泛型的原理,应用和面试题,包含所有泛型考点。例如,泛型的概念,类型,实例化,容易混淆的用法。每一道题附上答案,方便理解考试要点。
蓝桥杯Java语言A组真题,题目文件与参赛时一模一样形式。每一道题一个文件。
史上最全的android和java面试文档集。包括有: java程序员面试宝典.txt Java面试宝典2011版-1C,Java基础部分.doc... Java面试题及答案(基础题122道) - 在梦想与现实之间徘徊 - JavaEye技术网站.mht 等等,还有好多。
国信蓝桥杯四川赛区2012年java组最后一道大题详解
6月份的java上机试题和我自己的解题思路,今年的java上机又改了,只有一道大题,有兴趣的可以下来看看,5分绝对是很有价值的
北京宏景世纪软件股份有限公司Java笔试题
JAVA面向对象考试题 50道基础选择题,肯定的有一道适合你, 相信,不会有错 java面向对象题型你的不二选择