java学生类

上星期四实验课老师让设计一个学生类,要求输入若干个学生信息,包括姓名,学号,科目成绩,要求进行排序,输出总分,姓名,学号,名次,总分一样的并列,我现在写了一个最简单的,这是我第一次上传,内容十分简单,上传纯属纪念,记住成长的脚步,希望多多提意见,以此进步。

import java.util.Scanner;
public class Score {


public static void main(String[] args) {
Scanner input = new Scanner(System.in);
Student[] stu = new Student[5];
for (int i=0; i<5; i++)
{
System.out.print("请输入姓名:");
String name = input.next();
System.out.print("请输入学号: ");
int number = input.nextInt();
System.out.print("请输入数学成绩: ");
double math = input.nextDouble();
System.out.print("请输入英语成绩: ");
double english = input.nextDouble();
System.out.print("请输入计算机成绩: ");
double computer = input.nextDouble();
stu[i] = new Student(name, number, math, english, computer);

}
stu[0].sort(stu);
stu[0].prin(stu);


}


}


class Student {
private String name;
private int number;
private double math;
private double english;
private double computer;
private double sum;

public Student(String name, int number, double math, double english, double computer) {
this.name = name;
this.number = number;
this.math = math;
this.english = english;
this.computer = computer;
this.sum = math + english + computer;
}
public void sort(Student[] st) {
for (int i=0; i<4; i++) {
for (int j=0; j<4-i; j++) {
if (st[j].sum < st[j+1].sum) {
Student temp;
temp = st[j];
st[j] = st[j+1];
st[j+1] = temp;
}
}
}
}
public void prin(Student[] st) {
System.out.println("成绩情况如下: ");
System.out.println("姓名            学号          总分      名次");
int count = 1;
for (int k=0; k<5; k++) {
System.out.println(st[k].name + " " + st[k].number +" " +  st[k].sum + " " + count);
count++;
if (k < 4) {
if (st[k].sum == st[k+1].sum) 
count--;
}
}
}
}


输入:gao1 201401 100 100 100 
      gao2 201402 100 89 100
      gao3 201403 100 100 100
      gao4 201404 100 80 90
      gao5 201405 100 100 90
输出:  姓名    学号   总分    名次
      gao1    201401  300     1
      gao3    201403  300     1
      gao5    201405  290     2
      gao2    201402  289     3
      gao4    201404  270     4

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值