设计要求:

建立一个学生类,有姓名、学号、3门课成绩、总分等信息,能输入输出学生数据,并能对总分进行排序,打印名次。

思路:老师给的思路全部都封装在了一个类中,我写的则分成了两个类,可能一些方法没有写成函数封装,但是觉得习惯而已,有些一句话的程序没必要也放到函数里。

吐槽:上一次做的在电脑里存着忘记带了,今天上机又重新敲了一遍,真是浪费时间,最讨厌重复了,但是有没有办法。写完冒泡排序,感觉自己的水平在火星了,,醉了,java太水了。

mycode:

import java.io.*;
import java.util.*;
import java.math.*;class student
{String name,id;double js,cs,ds,sum;int rank;student(String ii,String nn,double jj,double cc,double dd){name=nn;id=ii;js=jj;cs=cc;ds=dd;sum=js+cs+ds;}student (){this("","",0,0,0);}public void sort(int n,student v[]){student t;for(int i=1;i<=n;i++){for(int j=i+1;j<=n;j++)if(v[i].sum<v[j].sum){t=v[i];v[i]=v[j];v[j]=t;}}int len=1;v[1].rank=1;for (int i=2;i<=n;i++){if (v[i].sum!=v[i-1].sum)  len++;v[i].rank=len;   }}void pt(){System.out.println("学生姓名: "+name);System.out.println("学生学号: "+id);System.out.println("学生排名: "+rank);System.out.println("学生总分: "+sum);}
}public class studenttable
{public static void main(String args[]){Scanner cin=new Scanner(System.in);System.out.println("请输入要输入的人数:");int n=cin.nextInt();student v[]=new student[n+1];student q=new student();for (int i=1;i<=n;i++){System.out.println("请依次输入学号,姓名,三科成绩:");String ii=cin.next();String nn=cin.next();double jj=cin.nextDouble();double cc=cin.nextDouble();double dd=cin.nextDouble();v[i]=new student(ii,nn,jj,cc,dd);}q.sort(n,v);for (int i=1;i<=n;i++){v[i].pt();System.out.println("");}}
}/*
4
001 a 80 80 75
002 b 90 90 70
003 c 90 83 92
004 d 85 70 80
*/

myteacher  code:

 class Student
{private String no,name ;private double java,math,eng,total;protected int order; public Student()  {   }                   public Student(String s1, String s2,double j,double m,double e)      {no= s1;   name  = s2;java=j;math=m;eng=e;total=java+math+eng;}
public double getTotal()
{       return total;      }public void print(int n,Student stu[]){System.out.println("名次\t学号\t姓名\t数学\tJAVA\t英语\t总分");for(int i=0;i<n;i++)System.out.println(stu[i].order+"\t"+stu[i].no+"\t"+stu[i].name+"\t"+stu[i].java+"\t"+stu[i].math+"\t"+stu[i].eng+"\t"+stu[i].total+"\t");}public void sort(int n,Student stu[]){  Student t;for(int i=0;i<n;i++){for(int j=i+1;j<n;j++)if(stu[i].getTotal()<stu[j].getTotal()){t=stu[i];stu[i]=stu[j];stu[j]=t;    }} }
public void setOrder(int n,Student stu[]){  stu[0].order=1;for(int i=1;i<n;i++){       if(stu[i].getTotal()<stu[i-1].getTotal())stu[i].order=stu[i-1].order+1;else if (stu[i].getTotal()==stu[i-1].getTotal())stu[i].order=stu[i-1].order;}}public static void main(String args[])
{Student s[]=new Student[10];Student q=new Student();int n=3;s[0]=new Student("001","a",80,80,75);s[1]=new Student("002","b",90,90,70);s[2]=new Student("003","c",90,83,92);q.sort(3,s);q.setOrder(3,s);q.print(3,s);System.out.println();}}

java 设计作业——学生类的基本练习相关推荐

  1. Java私有的private的使用——按照以下要求设计一个学生类Student,并进行测试

    请按照以下要求设计一个学生类Student,并进行测试.要求如下: Student类中包含姓名.成绩两个属性 分别给这两个属性定义两个方法,一个方法用于设置值,一个方法用于获取值,其中成绩在0-100 ...

  2. 设计一个分数类java_设计一个学生类,学生类中应包括学号,姓名,语文成绩,数学成绩,英语成绩,同时还要提供两个方法,一个方...

    设计一个学生类,学生类中应包括学号,姓名,语文成绩,数学成绩,英语成绩,同时还要提供两个方法,一个方 2016-08-22 0 0 0 5.0 分 其他 1 积分下载 如何获取积分? 设计一个学生类, ...

  3. java设计一个user类_关于JAVA设计一个用户类

    关于JAVA设计一个用户类 关注:152  答案:2  mip版 解决时间 2021-02-02 05:51 提问者安分守己的小青春 2021-02-02 02:23 设计一个用户类,该类有用户编号. ...

  4. python设计一个学生类求最高分_设计一个学生类班级类

    第一题 设计一个学生类 属性:姓名.学号.年龄.成绩 设计一个班级类要求:实现向班级中添加学生.删除学生.查看学生.按照指定条件排序 属性:班级代号,所有学生 需要使用 calss, __int__, ...

  5. 设计一个学生类Student

    设计一个学生类Student 其属性有:姓名(name).年龄(age).学历(education),由Student类派生出本科生类Undergraduate和研究生类Graduate,本科生类增加 ...

  6. 请按照以下要求设计一个学生类Student,并进行测试,要求如下:

    请按照以下要求设计一个学生类Student,并进行测试,要求如下: (1)Student类中包含姓名.成绩两个属性. (2)分别给这两个属性定义两个方法,一个方法用于设置值,另一个方法用于获取值. ( ...

  7. python创建学生类姓名学号_设计一个学生类班级类

    第一题 设计一个学生类 属性:姓名.学号.年龄.成绩 设计一个班级类要求:实现向班级中添加学生.删除学生.查看学生.按照指定条件排序 属性:班级代号,所有学生 需要使用 calss, __int__, ...

  8. 【c++类和对象——设计一个学生类】

    设计一个学生类,属性有姓名和学号,可以给姓名和学号赋值,并且可以显示. 解法1: #include<iostream> using namespace std; #include<s ...

  9. JAVA大作业 | 学生成绩信息管理系统

    > * *JAVA大作业 | 学生成绩管理系统(含有用户界面)*** ----- ps :多个包写在一起---– package test; import java.awt.*; import ...

最新文章

  1. php访问参数错误,phpcms参数错误怎么办
  2. Hierarchical Cluster 层次聚类
  3. 服务端渲染vs客户端渲染到前后端同构
  4. python 数据结构包_Python Redistr包_程序模块 - PyPI - Python中文网
  5. python同花顺交易接口是什么_我用 Python 预测了股票价格
  6. 身体有恙,此段时间BLOG暂停更新
  7. 7.10.7740.16
  8. Leetcode771.Jewels and Stones宝石与石头
  9. Oh no no no i'm a rocket man
  10. android java判断字符串是否为空和是否是手机号和是否是数字,数字转中文
  11. 汕头市队赛 SRM16 T2
  12. 谈谈.NET MVC QMVC高级开发
  13. DSP编程的一些优化技巧和注意事项
  14. Python写入文件的工具类
  15. mpvue 调起子组件的方法_牢记 | 智鹏五金机电设备这些方法的使用更安全!
  16. Centos 解压软件
  17. python '/'与'//'学习
  18. Java 读取shp文件,生成shp文件,通过shp文件自动建库
  19. 分析华为鸿蒙操作系统的特点,申万宏源-通信行业系列深度研究和分析报告之华为鸿蒙操作系统全景解构.pdf...
  20. 执行SQL语句时出现问题操作必须使用一个可更新的查询错误的解决方法

热门文章

  1. 认识Skeleton Screen【屏幕加载骨架】
  2. 全方位分析web前端如何进行性能优化
  3. CORS(跨域资源共享)
  4. 关于codeforces加载慢
  5. express接受get数据
  6. java中HashMap的用法
  7. IOS NSArray,NSDictionary
  8. 产品经理的职责(转)
  9. php session 效率,大量php session临时文件带来的服务器效率问题
  10. html的table弹窗_Js弹出基于Table的可关闭浮动层