JAVA编程:有五个学生,每个学生有3门课(语文、数学、英语-查字典问答网
分类选择

来自华定中的问题

  JAVA编程:有五个学生,每个学生有3门课(语文、数学、英语)的成绩,写一个程序接收从键盘输入学生的信息,输入格式为:name,30,30,30(姓名,三门课成绩),然后把输入的学生信息按总分从高

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

  写一个程序接收从键盘输入学生的信息,输入格式为:name,30,30,30(姓名,三门课成绩),然后把输入的学生信息按总分从高到低的顺序写入到一个名称"stu.txt"文件中.要求:stu.txt文件的格式要比较直观,打开这个文件,就可以很清楚的看到学生的信息.多加点注释,

1回答
2020-05-18 19:30
我要回答
请先登录
兰旭光

  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{

  x09x09this.chinese = chinese;

  x09x09this.math = math;

  x09x09this.english = english;

  x09x09this.sum = sum;

  x09x09this.sname = sname;

  x09}

  x09@Override

  x09public String toString ()

  x09{

  x09x09return String.format ("%stt%2$.1fttt%3$.1fttt%4$.1fttt%5$.1f", sname, chinese, math, english, sum);

  x09}

  x09public static void main ( String[] args )

  x09{

  x09x09Scanner scanner = new Scanner (System.in);

  x09x09LinkedList<Student> list = new LinkedList<Student> ();

  x09x09System.out.println ("从键盘输入学生的信息,输入格式为:name,30,30,30(姓名,三门课成绩)<直接回车结束>");

  x09x09while (scanner.hasNextLine ())

  x09x09{

  x09x09x09String line = scanner.nextLine ().trim ();

  x09x09x09if ("".equals (line))

  x09x09x09{

  x09x09x09x09break;

  x09x09x09}

  x09x09x09String[] info = line.split (",");

  x09x09x09String name = info[0];

  x09x09x09double chinese = 0;

  x09x09x09double math = 0;

  x09x09x09double english = 0;

  x09x09x09double sum = 0;

  x09x09x09try

  x09x09x09{

  x09x09x09x09chinese = Double.parseDouble (info[1]);

  x09x09x09x09math = Double.parseDouble (info[2]);

  x09x09x09x09english = Double.parseDouble (info[3]);

  x09x09x09x09sum = chinese + math + english;

  x09x09x09}

  x09x09x09catch (Exception e)

  x09x09x09{

  x09x09x09x09System.out.println ("格式不正确,重写输入:");

  x09x09x09x09continue;

  x09x09x09}

  x09x09x09Student student = new Student (chinese, math, english, sum, name);

  x09x09x09list.add (student);

  x09x09}

  x09x09scanner.close ();

  x09x09Collections.sort (list, new Comparator<Student> ()

  x09x09{

  x09x09x09@Override

  x09x09x09public int compare ( Student o1, Student o2 )

  x09x09x09{

  x09x09x09x09if (o1.sum > o2.sum)

  x09x09x09x09{

  x09x09x09x09x09return -1;

  x09x09x09x09}

  x09x09x09x09else if (o1.sum < o2.sum)

  x09x09x09x09{

  x09x09x09x09x09return 1;

  x09x09x09x09}

  x09x09x09x09else

  x09x09x09x09{

  x09x09x09x09x09return 0;

  x09x09x09x09}

  x09x09x09}

  x09x09});

2020-05-18 19:34:40

最新问答

推荐文章

猜你喜欢

附近的人在看

推荐阅读

拓展阅读

  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  •