Java类的数组实现学生姓名,成绩,总分的表格

【问题描述】
假定某班有10个学生,本学期上了3门课,请依次输入 姓名、第1门课成绩、第2门课成绩、第3门课成绩。
即首先输入第一个同学的姓名、第1门课成绩、第2门课成绩、第3门课成绩;
再输入第二个同学的姓名、第1门课成绩、第2门课成绩、第3门课成绩;
再输入第三个同学的姓名、第1门课成绩、第2门课成绩、第3门课成绩;…,
直至输入第10个同学的姓名、第1门课成绩、第2门课成绩、第3门课成绩。

然后求出每个同学的3门课的总分,再按总分对数组排序,最后按总分由高到低的顺序输出排序后的信息:
名次 姓名 第一门 第二门 第三门 总分

【输入数据】
请依次输入10个同学的姓名_门课的成绩!请依次输入 1 个同学的姓名!w1
请依次输入 1 个同学的第1门课的成绩!56
请依次输入 1 个同学的第2门课的成绩!57
请依次输入 1 个同学的第3门课的成绩!58
请依次输入 2 个同学的姓名!q2
请依次输入 2 个同学的第1门课的成绩!57
请依次输入 2 个同学的第2门课的成绩!58
请依次输入 2 个同学的第3门课的成绩!59
请依次输入 3 个同学的姓名!q3
请依次输入 3 个同学的第1门课的成绩!60
请依次输入 3 个同学的第2门课的成绩!61
请依次输入 3 个同学的第3门课的成绩!67
请依次输入 4 个同学的姓名!q4
请依次输入 4 个同学的第1门课的成绩!88
请依次输入 4 个同学的第2门课的成绩!89
请依次输入 4 个同学的第3门课的成绩!90
请依次输入 5 个同学的姓名!q5
请依次输入 5 个同学的第1门课的成绩!98
请依次输入 5 个同学的第2门课的成绩!97
请依次输入 5 个同学的第3门课的成绩!96

cc: 171 174 188 267 291

【输出数据】
序号 总分 姓名 1门 2门 3门
1 171 w1 56 57 58
2 174 q2 57 58 59
3 188 q3 60 61 67
4 267 q4 88 89 90
5 291 q5 98 97 96

Java代码:

package java_practic;

import java.util.Scanner;
class Student{
	int num;//序号
	String name;//姓名
	int s1,s2,s3;//单科分数及总分
	
	public Student(){}

	void print() {
		System.out.printf("%d     %d     %s     %d     %d     %d\n",num,s1+s2+s3,name,s1,s2,s3);
	}
}
public class h6 {
	static void m1() {
		Scanner Input = new Scanner(System.in);
		int num[] = new int[5];
		int s1,s2,s3,ss;
		String name;
		System.out.println("请依次输入5个同学的姓名_门课的成绩!\n");
		Student[] b = new Student[5];
		for(int i = 0;i < 5;i++) {
			System.out.printf("请依次输入第%d个同学的姓名!",i+1);
			name = Input.next();
			System.out.printf("请依次输入第%d个同学的第1门课的成绩!",i+1);
			s1 = Input.nextInt();
			System.out.printf("请依次输入第%d个同学的第2门课的成绩!",i+1);
			s2 = Input.nextInt();
			System.out.printf("请依次输入第%d个同学的第3门课的成绩!",i+1);
			s3 = Input.nextInt();
			b[i] = new Student();
			b[i].name = name;
			b[i].s1 = s1;
			b[i].s2 = s2;
			b[i].s3 = s3;
		}
		for(int i = 0;i < 5;i++) {
			b[i].num = i+1;
		}
		System.out.println("序号  总分    姓名   1门    2门     3门\n");
		for(int i = 0;i < 5;i++) {
			b[i].print();
		}
	}
	public static void main(String[] args) {
		m1();
	}
}


【测试样例】
在这里插入图片描述

  • 3
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值