作业帮 > 综合 > 作业

JAVA编程:有五个学生,每个学生有3门课(语文、数学、英语)的成绩,

来源:学生作业帮 编辑:搜搜考试网作业帮 分类:综合作业 时间:2024/07/13 04:46:17
JAVA编程:有五个学生,每个学生有3门课(语文、数学、英语)的成绩,
写一个程序接收从键盘输入学生的信息,输入格式为:name,30,30,30(姓名,三门课成绩),然后把输入的学生信息按总分从高到低的顺序写入到一个名称"stu.txt"文件中.要求:stu.txt文件的格式要比较直观,打开这个文件,就可以很清楚的看到学生的信息.多加点注释,
JAVA编程:有五个学生,每个学生有3门课(语文、数学、英语)的成绩,
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Collections;
import java.util.Comparator;
import java.util.LinkedList;
import java.util.Scanner;

public class Student
{
\x09double chinese;
\x09double math;
\x09double english;
\x09double sum;
\x09String sname;

\x09public Student ( double chinese, double math, double english, double sum, String sname )
\x09{
\x09\x09this.chinese = chinese;
\x09\x09this.math = math;
\x09\x09this.english = english;
\x09\x09this.sum = sum;
\x09\x09this.sname = sname;
\x09}

\x09@Override
\x09public String toString ()
\x09{
\x09\x09return String.format ("%s\t\t%2$.1f\t\t\t%3$.1f\t\t\t%4$.1f\t\t\t%5$.1f", sname, chinese, math, english, sum);
\x09}

\x09public static void main ( String[] args )
\x09{
\x09\x09Scanner scanner = new Scanner (System.in);
\x09\x09LinkedList<Student> list = new LinkedList<Student> ();
\x09\x09System.out.println ("从键盘输入学生的信息,输入格式为:name,30,30,30(姓名,三门课成绩)<直接回车结束>");
\x09\x09while (scanner.hasNextLine ())
\x09\x09{
\x09\x09\x09String line = scanner.nextLine ().trim ();
\x09\x09\x09if ("".equals (line))
\x09\x09\x09{
\x09\x09\x09\x09break;
\x09\x09\x09}
\x09\x09\x09String[] info = line.split ("\\,");
\x09\x09\x09String name = info[0];
\x09\x09\x09double chinese = 0;
\x09\x09\x09double math = 0;
\x09\x09\x09double english = 0;
\x09\x09\x09double sum = 0;
\x09\x09\x09try
\x09\x09\x09{
\x09\x09\x09\x09chinese = Double.parseDouble (info[1]);
\x09\x09\x09\x09math = Double.parseDouble (info[2]);
\x09\x09\x09\x09english = Double.parseDouble (info[3]);
\x09\x09\x09\x09sum = chinese + math + english;
\x09\x09\x09}
\x09\x09\x09catch (Exception e)
\x09\x09\x09{
\x09\x09\x09\x09System.out.println ("格式不正确,重写输入:");
\x09\x09\x09\x09continue;
\x09\x09\x09}
\x09\x09\x09Student student = new Student (chinese, math, english, sum, name);
\x09\x09\x09list.add (student);
\x09\x09}
\x09\x09scanner.close ();
\x09\x09Collections.sort (list, new Comparator<Student> ()
\x09\x09{
\x09\x09\x09@Override
\x09\x09\x09public int compare ( Student o1, Student o2 )
\x09\x09\x09{
\x09\x09\x09\x09if (o1.sum > o2.sum)
\x09\x09\x09\x09{
\x09\x09\x09\x09\x09return -1;
\x09\x09\x09\x09}
\x09\x09\x09\x09else if (o1.sum < o2.sum)
\x09\x09\x09\x09{
\x09\x09\x09\x09\x09return 1;
\x09\x09\x09\x09}
\x09\x09\x09\x09else
\x09\x09\x09\x09{
\x09\x09\x09\x09\x09return 0;
\x09\x09\x09\x09}
\x09\x09\x09}
\x09\x09});
\x09\x09try
\x09\x09{
\x09\x09\x09String file = "stu.txt";
\x09\x09\x09String line = System.getProperty ("line.separator");
\x09\x09\x09FileWriter fw = new FileWriter (file, true);
\x09\x09\x09FileReader fr = new FileReader (file);
\x09\x09\x09if (fr.read () == -1)
\x09\x09\x09{
\x09\x09\x09\x09fw.write ("姓名\t\t语文\t\t数学\t\t英语\t\t总分" + line);
\x09\x09\x09}
\x09\x09\x09fr.close ();
\x09\x09\x09for ( Student student : list )
\x09\x09\x09{
\x09\x09\x09\x09fw.write (student.toString () + line);
\x09\x09\x09\x09fw.flush ();
\x09\x09\x09}
\x09\x09\x09fw.close ();
\x09\x09\x09System.out.println ("加入完毕.");
\x09\x09}
\x09\x09catch (IOException e)
\x09\x09{}
\x09}
}
JAVA编程:有五个学生,每个学生有3门课(语文、数学、英语)的成绩, 某班级有20名学生,每个学生的信息包括学号、姓名及语文、数学、英语、物理、化学五门课程的成绩 c语言 设一个班有10个学生,每个学生有3门课考试成绩,编程求每个学生成绩和个门平均成绩 一个班10个同学,每个学生有学号,以及数学、物理、英语、语文、体育5门课的成绩信息.分别编写3个函数以 输入10名学生的序号和每个学生三门功课(数学、英语、C语言程序设计)的成绩,编程计算出每个学生的总分和平均分,并按学生成 求以下c语言编程:一个简单的学生成绩管理系统.其中每个学生信息包括学号、姓名、数学成绩、英语成绩 假设共有3名学生,每名学生都有5门成绩(语文、数学、英语、化学、物理).要求:(1)从键盘上输 c语言假设共有3名学生,每名学生都有5门成绩(语文、数学、英语、化学、物理). C语言基础题.有5个学生,每个学生有3门课的成绩,从键盘输入学生数据 1.有5名学生,每名学生有语文、数学、物理和外语四门课的考试成绩,编程统计各学生的总分和平均分,以及所 Java集合类题目§1.编写一个学生成绩管理程序.学生的属性包括学号、姓名、年龄等.每个学生要学习若干课程,每门课程有平 编程统计全班学生成绩.要求每次键盘输入一个学生的3门课程分数,计算并输出每个学生的总分和平均分