首页 > 其他分享 >用(I/O)流实现:键盘录入5个学生信息(姓名,语文成绩,数学成绩,英语成绩),按照总分从高到低存入文本文件

用(I/O)流实现:键盘录入5个学生信息(姓名,语文成绩,数学成绩,英语成绩),按照总分从高到低存入文本文件

时间:2024-08-18 09:52:43浏览次数:12  
标签:name chinese double 文本文件 Student 高到 成绩 public math

第一步、先创建一个学生类对象,再重写toString方法

Student类:
public class Student {
    private String name;
    private double chinese;
    private double math;
    private double english;

    public Student(String name, double chinese, double math, double english) {
        this.name = name;
        this.chinese = chinese;
        this.math = math;
        this.english = english;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public double getChinese() {
        return chinese;
    }

    public void setChinese(double chinese) {
        this.chinese = chinese;
    }

    public double getMath() {
        return math;
    }

    public void setMath(double math) {
        this.math = math;
    }

    public double getEnglish() {
        return english;
    }

    public void setEnglish(double english) {
        this.english = english;
    }

    @Override
    public String toString() {
        return "Student{" +
                "name='" + name + '\'' +
                ", chinese=" + chinese +
                ", math=" + math +
                ", english=" + english +
                '}';
    }
}
测试类:
import day15_8_13.studentGradePaiXu.Student;

import java.io.BufferedWriter;
import java.io.FileWriter;
import java.util.Scanner;

public class StudentGrade {
    public static void main(String[] args) throws Exception{
        Scanner sc = new Scanner(System.in);
        //创建一个学生对象数组
        Student[] students = new Student[5];
        for(int i=0;i<5;i++){
            System.out.println("请按指定格式输入:姓名,语文成绩,数学成绩,英语成绩");
            String s=sc.next();
            String[] split = s.split(",");
            students[i]=new Student(split[0],Double.parseDouble(split[1]),Double.parseDouble(split[2]),Double.parseDouble(split[3]));
        }//遍历数组,再按照总分排序
        for(int i=0;i<students.length;i++){
            for(int j=i+1;j<students.length;j++){
                if((students[i].getChinese()+students[i].getMath()+students[i].getEnglish())>(students[j].getChinese()+students[j].getMath()+students[j].getEnglish())){
                   Student stu=students[i];
                    students[i]=students[j];//数组能进行遍历排序
                    students[j]=stu;
                }
            }
        }
        //排序完后,直接遍历数组的同时将内容写到笔记本中
        BufferedWriter bw = new BufferedWriter(new FileWriter("src/main/java/day15_8_13/haha/zuoye/a.txt"));
        for (Student student : students) {
            bw.write("总分为:"+(student.getChinese()+student.getMath()+student.getEnglish())+student);
            bw.newLine();
        }
        //释放资源
        bw.close();
    }
}

创建一个学生对象的数组,更加方便的将每次录入的信息直接存储在对象数组里,避免了多次重复写new Student()来接收。

标签:name,chinese,double,文本文件,Student,高到,成绩,public,math
From: https://blog.csdn.net/ABU009/article/details/141286204

相关文章

  • 成绩排序—————c++
    先看问题:成绩排序时间限制:C/C++1000MS,其他语言2000MS内存限制:C/C++256MB,其他语言512MB难度:普及-分数:100 OI排行榜得分:12(0.1*分数+2*难度)出题人:root描述给出班里某门课程的成绩单,请你按成绩从高到低对成绩单排序输出,如果有相同分数则名字字典序小的在前。输入......
  • 基于flask+vue框架的大学生成绩管理系统[开题+论文+程序]-计算机毕设
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着高等教育的普及与信息化技术的飞速发展,大学生成绩管理成为高校教务管理中至关重要的一环。传统的手工成绩记录与管理方式不仅效率低下......
  • 二年级语文怎么辅导比较有效以及提高成绩
    **1⃣重视细节。**握笔姿势、写字姿势、坐姿、朗读习惯、课前准备、听课发言这些小习惯看似微小,却能帮助孩子在最开始打好基础,端正态度,提高学习效率,也省去了以后纠正的麻烦。**2⃣预习。**预习是学生自主学习的开始,语文需要养成预习的习惯,读-圈-划-写。等上课的时候就能带着......
  • 编写一个程序,打开和读取一个文本文件,并统计文件中每个单词出现的次数。用改进的二叉查
    /编写一个程序,打开和读取一个文本文件,并统计文件中每个单词出现的次数。用改进的二叉查找树存储单词及其出现的次数。程序在读入文件后会提供一个有三个选项菜单。第一个选项是列出所有的单词和出现的次数。第二个选项是让用户输入一个单词,程序报告该单词在文件中出现的次数。......
  • 如何在 Windows 11/10/8/7 中恢复已删除和未保存的记事本文本文件
    很多原因都会导致未保存的记事本文本文件丢失。这些包括意外关闭、系统崩溃或电源故障等。无论丢失文本文件的原因是什么,相关的焦虑都是一样的。如果您遇到这种情况,可以使用以下有效方法在Windows11/10/8/7 中恢复已删除的文本文件。在这篇文章中,我们将分享三种在Windows......
  • 【大小球让球实战】——深度剖析足球大小球数据分析软件,找到一个临界点,把准确率提高到
    最近在跟一些圈内朋友聊天,发现每个人都有一套自己的玩球逻辑,比如有些人看亚盘,有些看欧盘,有些玩绝杀,有些看盘口,是否可以自定义的去玩球?结合多年的经验,把分析的过程大概写了一下。数据爬取采集汇聚全球各大足球赛事的即时比赛数据。从进球瞬间到红黄牌警告,每一刻赛场动态......
  • 简短而精辟: 用什么样的约束思路能提高 (LLM) 成绩?
    欢迎来到[云闪世界](www.cloud88.xyz)。有时几个词就足够了:减少输出长度以提高准确性![](https://img2024.cnblogs.com/blog/3500014/202408/3500014-20240808135437935-347603220.png)简洁是雄辩的一大魅力。——马库斯·图留斯·西塞罗简洁和简练是纠正之父。——何西阿·巴......
  • 假设一个班有n(n<=50)个学生,每人考m(m<=5)门课,求每个学生的平均成绩和每门课的平均成绩,
    、/*输入:n和m,分别表示学生数和课程数。然后是n行数据,每行包括m个数据输出;对于每个测试输出三行数据;第一行包括n个数据表示n个学生的平均成绩;第二行包括m个数据表示m门课的平均成绩;第三行是一个整数,表示该班各科成绩均大于等于平均成绩的学生数321234681.503.......
  • python-分享篇-英文短文自动分词写入文本文件
    文章目录准备代码效果准备代码importstringf=open('./data/split.txt')s=f.read()str1=s.title()print(str1)print("".join([sforsinstr1.splitlines(True)ifs.strip()]))list1=str1.split()#采用默认分隔符进行分割#字符串列表去重l1=list(s......
  • Python:学生成绩管理系统(大学编程期末实验)
    引言在这个信息时代,教育管理的自动化已成为提高效率的关键。本文将介绍如何使用Python开发一个学生成绩管理系统,旨在简化成绩记录、查询和分析的过程。创作灵感来源本项目灵感来源于我在教育机构的工作经历,以及对提高教育管理效率的持续追求。通过复盘过往项目,我意识到一个......