java基础题1

编写程序,要求统计10人姓名、学号、6门科目分别的成绩,并计算总成绩且按高低名次排序,输出每个人的排名及总成绩。(程序中至少包含三个类)

package New;

import java.util.Scanner;

public class Demo {

    public static void main(String[] args) {
        // TODO Auto-generated method stub

Scanner sc = new Scanner(System.in);
       Student[] stu = new Student[10];
       Rank rank = new Rank();
       for(int i=0;i<10;i++) {
           stu[i] = new Student();
       }
       for(int i=0;i<10;i++) {
           System.out.println("请输入第"+(i+1)+"位学生的姓名");
           String name = sc.next();
           System.out.println("请输入第"+(i+1)+"位学生的学号");
           int num = sc.nextInt();
           stu[i].setName(name);
           stu[i].setNum(num);
           for(int j=0;j<6;j++) {
               System.out.println("请输入第"+(j+1)+"门成绩");
               double grade = sc.nextDouble();
               stu[i].grade[j]=grade;
               
           }
       }
       for(int i=0;i<10;i++) {
          stu[i].sum();
       }
       rank.jiaohuan(stu);
       rank.show();
    }

}

public class Rank {
public Rank() {}
int rank;  
   Student temp = new Student();
   Student[] after = new Student[10];
   Student[] before = new Student[10];
   public void jiaohuan(Student[] before) {
       for(int i=0;i<10;i++)
{
    after[i] = before[i];
}
       for(int i=0;i<9;i++) {
           for(int j=0;j<9-i;j++) {
               if(after[j+1].sum>after[j].sum) {
                   temp = after[j];
                   after[j] = after[j+1];
                   after[j+1] = temp;
               }
           }
       }
   }
   public void show() {
       for(int i=0;i<10;i++) {
           System.out.print("排名:"+(i+1)+"  ");
           System.out.println("姓名:"+after[i].name+"  学号:"+after[i].num+"  总成绩:"+after[i].sum);
       }
   }
}

public class Student{
    public Student() {}
   String name;
   public void setName(String name) {
       this.name = name;
   }
   public String getName() {
       return name;
   }
   int num;
   public void setNum(int num) {
       this.num = num;
   }
   public int setNum() {
       return num;
   }
       double[] grade = new double[6];
       public void setGrade(double[] grade){
           this.grade = grade;   
         }
       public double getGrade() {
           return grade[6];
       }
       double sum;
       public double sum() {
           double sum = 0.0;
           for(int i = 0;i<6;i++)
           {
               sum+=grade[i];
           }
           this.sum=sum;
           return sum;
       }
  }
 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一只小cai

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值