java 使用面向对象方式实现录入学生信息,取出成绩最大值、最小值、平均值、对其进行排序
题目:
java 使用面向对象方式实现录入学生信息,取出成绩最大值、最小值、平均值、对其进行排序
gitup源码下载地址:
https://github.com/benxiaohai8888/Javase/blob/master/ObjectStudent.java
代码:
- import java.util.Scanner;
- public class O<span style="font-family: Arial, 'Microsoft YaHei', 微软雅黑, 宋体, 'Malgun Gothic', Meiryo, sans-serif; font-size: 13px; line-height: 19px; widows: auto; background-color: rgb(249, 251, 252);">bject</span>Student{
- private String name;//姓名
- private int age;//年龄
- private double score;//分数
- //定义全局的变量
- private Student[] students;
- public void setName(String name){
- this.name=name;
- }
- public String getName(){
- return name;
- }
- public void setAge(int age)
- {
- this.age=age;
- }
- public int getAge(){
- return age;
- }
- public void setScore(double score)
- {
- this.score=score;
- }
- public double getScore(){
- return score;
- }
- //初始化学生
- public void initStudent(){
- Scanner scanner=new Scanner(System.in);
- students=new Student[3];
- System.out.println("--------输入3个学生的信息--------");
- int j=1;
- for(int i=0;i<students.length;i++){
- Student stu=new Student();
- System.out.println("输入第["+j+"]个学生的信息:");
- System.out.println("姓名:");
- stu.setName(scanner.next());
- System.out.println("年龄:");
- stu.setAge(scanner.nextInt());
- System.out.println("分数:");
- stu.setScore(scanner.nextDouble());
- students[i]=stu;
- j++;
- }
- //打印输出
- for(int a=0;a<students.length;a++){
- Student stu=students[a];
- System.out.println("第["+(a+1)+"]个学生的姓名:"+stu.getName());
- System.out.println("第["+(a+1)+"]个学生的年龄:"+stu.getAge());
- System.out.println("第["+(a+1)+"]个学生的分数:"+stu.getScore());
- System.out.println("----------------------------------------");
- }
- }
- //总分
- public double sumScore(){
- double sumScore=0.0;
- for(int a=0;a<students.length;a++){
- Student stu=students[a];
- sumScore+=stu.getScore();
- }
- return sumScore;
- }
- //平均分
- public double avgScore(){
- return sumScore()/students.length;
- }
- //最大值
- public double max(){
- double max=students[0].getScore();
- for(int a=0;a<students.length;a++){
- if(students[a].getScore()>max){
- max=students[a].getScore();
- }
- }
- return max;
- }
- //最大值的学生
- public Student maxStudent(){
- double max=students[0].getScore();
- int index=-1;
- for(int a=0;a<students.length;a++){
- if(students[a].getScore()>max){
- max=students[a].getScore();
- index=a;
- }
- }
- return students[index];
- }
- //最小值
- public double min(){
- double min=students[0].getScore();
- for(int a=0;a<students.length;a++){
- if(students[a].getScore()<min){
- min=students[a].getScore();
- }
- }
- return min;
- }
- //最小值的学生
- public Student minStudent(){
- double min=students[0].getScore();
- int index=-1;
- for(int a=0;a<students.length;a++){
- if(students[a].getScore()<min){
- min=students[a].getScore();
- index=a;
- }else{
- min=students[0].getScore();
- index=0;
- }
- }
- return students[index];
- }
- //排序
- public void sort(){
- Student st=new Student();
- for(int i=0;i<students.length-1;i++){
- for(int j=i+1;j<students.length-1;j++){
- if(students[i].getScore() > students[j].getScore()){
- st=students[i];
- students[i]=students[j];
- students[j]=st;
- }
- }
- }
- for(Student s: students){
- System.out.print("姓名:"+s.getName()+" ");
- System.out.print("年龄:"+s.getAge()+" ");
- System.out.print("分数:"+s.getScore()+" ");
- System.out.println();
- }
- }
- public static void main(String[] args){
- Student stu=new Student();
- //初始化学生
- stu.initStudent();
- //总分
- System.out.println("总分: "+stu.sumScore());
- //平均分
- System.out.println("平均分: "+stu.avgScore());
- //分数最大值
- System.out.println("最大值: "+stu.max());
- //分数最大值的学生信息
- System.out.println("分数最大值的学生姓名: "+stu.maxStudent().getName());
- //分数最小值
- System.out.println("最小值: "+stu.min());
- //分数最小值的学生信息
- System.out.println("分数最小值的学生姓名: "+stu.minStudent().getName());
- //排序
- System.out.println("排序结果; ");
- stu.sort();
- }
- }<span style="color:#990000;">
- </span>
结果:
一个Java交流平台分享给你们,让你在实践中积累经验掌握原理。如果你想拿高薪,想突破瓶颈,想跟别人竞争能取得优势的,想进BAT但是有担心面试不过的,可以加我的Java学习交流群:642830685
注:加群要求
1、大学学习的是Java相关专业,毕业后面试受挫,找不到对口工作
2、在公司待久了,现在过得很安逸,但跳槽时面试碰壁。需要在短时间内进修、跳槽拿高薪的
3、参加过线下培训后,知识点掌握不够深刻,就业困难,想继续深造
4、已经在Java相关部门上班的在职人员,对自身职业规划不清晰,混日子的
5、有一定的C语言基础,接触过java开发,想转行的
java 使用面向对象方式实现录入学生信息,取出成绩最大值、最小值、平均值、对其进行排序的更多相关文章
- Java基础知识强化之IO流笔记51:IO流练习之 键盘录入学生信息按照总分排序写入文本文件中的案例
1. 键盘录入学生信息(姓名,语文成绩,数学成绩,英语成绩),按照总分排序写入文本文件中 分析: A:创建学生类 B:创建集合对象 TreeSet<Student> ...
- 《MySQL数据操作与查询》- 维护学生信息、老师信息和成绩信息 支持按多种条件组合查询学生信息和成绩信息
综合项目需求 一.系统整体功能 系统需支持以下功能: 维护学生信息.老师信息和成绩信息 支持按多种条件组合查询学生信息和成绩信息 学生 Student(id,班级id,学号,姓名,性别,电话,地址,出 ...
- 使用Java Stream,提取集合中的某一列/按条件过滤集合/求和/最大值/最小值/平均值
不得不说,使用Java Stream操作集合实在是太好用了,不过最近在观察生产环境错误日志时,发现偶尔会出现以下2个异常: java.lang.NullPointerException java.ut ...
- IO流(1)-键盘录入学生信息(姓名,语文成绩,数学成绩,英语成绩),按照总分从高到低存入文本文件
1.先写一个Student类 public class Student { private String name; private int chinese; private int math; pr ...
- Android(java)学习笔记195:学生信息管理系统案例(SQLite + ListView)
1.首先说明一个知识点,通常我们显示布局文件xml都是如下: setContentView(R.layout.activity_main): 其实每一个xml布局文件就好像一个气球,我们可以使用Vie ...
- Android(java)学习笔记188:学生信息管理系统案例(SQLite + ListView)
1.首先说明一个知识点,通常我们显示布局文件xml都是如下: setContentView(R.layout.activity_main): 其实每一个xml布局文件就好像一个气球,我们可以使用Vie ...
- C#复习,输入学生信息排列成绩
C#复习:在控制台程序中使用结构体.集合,完成下列要求项目要求:一.连续输入5个学生的信息,每个学生都有以下4个内容:1.序号 - 根据输入的顺序自动生成,不需要手动填写,如输入第一个学生的序号是1, ...
- 在Main中定义student的结构体,进行年龄从大到小依次排序录入学生信息。(结构体的用法以及冒泡排序)
using System; using System.Collections; using System.Collections.Generic; using System.Linq; using S ...
- IO流的练习4 —— 键盘录入学生成绩信息,进行排序后存入文本中
需求: 键盘录入5个学生信息(姓名,语文成绩,数学成绩,英语成绩),按照总分从高到低存入文本文件 分析: A:创建学生类 B:创建集合对象 TreeSet<Student> C:键盘录入学 ...
随机推荐
- 数据重塑图解—Pivot, Pivot-Table, Stack and Unstack
Pivot pivot函数用于创建一个新的派生表,该函数有三个参数:index, columns和values.你需要在原始表中指定这三个参数所对定的列名,接下来pivot函数会创建一个新的表格,其中 ...
- C++入门经典-例5.11-动态分配空间,堆与栈
1:在程序中定义一个变量,它的值会被放入内存中.如果没有申请动态分配,它的值将会被放在栈中.栈中的变量所属的内存大小是无法被改变的,它们的产生与消亡也与变量定义的位置和存储方式有关.堆是一种与栈相对应 ...
- 作业要求20191010-9 alpha week 1/2 Scrum立会报告+燃尽图 07
此作业要求参见:https://edu.cnblogs.com/campus/nenu/2019fall/homework/8752 一.小组情况组长:贺敬文组员:彭思雨 王志文 位军营 杨萍队名:胜 ...
- HttpURLConnection 和HttpClient 哪个好
最近在研究Volley框架的源码,发现它在HTTP请求的使用上比较有意思,在Android 2.3及以上版本,使用的是HttpURLConnection,而在Android 2.2及以下版本,使用的是 ...
- Gson解析list类型的json串
Gson gson = new Gson(); Type type = new TypeToken<List<Object>>() {}.getType(); List< ...
- Mybaits 分页插件应用
mybaits 分页插件省去了很多麻烦,接下来介绍如果应用分页插件 1.首先导入pagehelper.jar和jsplparser 2 在mybaits.xml中配置 <plugins> ...
- leetcode 230二叉搜索树中第k小的元素
通过stack进行中序遍历迭代,timeO(k),spaceO(1) /** * Definition for a binary tree node. * struct TreeNode { * in ...
- Cannot find terminfo entry for 'linux'.
解决方案: 1. 查看 /usr/share/terminfo 目录下的内容,该目录的内容表示该主机支持哪些终端类型. 2. 通过修改系统变量TERM为vt100. 执行 export TERM=vt ...
- IFB上挂载NETEM
转发虚拟网卡的ingress 建立虚拟网卡的ingress转发到ifb0(每一个Pod): tc qdisc add dev calixxxxxxxxxxx ingress tc filter add ...
- Javadoc常见的标记和含义
1.@param 方法参数的说明 2.@return 对 方法返回值的说明 3.@throws 方法抛出异常的描述 4.@version模块的版本号 5.see参数转向 6.@deprecated标记 ...