~~~
package StudentScore;
import java.util.*;
public class Index {
public static void main(String[] args){
Scanner in =new Scanner(System.in);
System.out.println("请输入学生的人数:");
int renshu=in.nextInt();//存储学生人数
System.out.println("请输入课程的数目:");
int kechen=in.nextInt();//存储课程的数目
String[] name=new String[renshu];//学生姓名数组
String[] course=new String[kechen];//学生课程名字数组
int[][] score=new int[renshu][kechen];//存储成绩
int[] sum=new int[renshu];
int[] avg=new int[renshu];
String[] str =new String[renshu];
for(int i=0;i<course.length;i++){//存储课程名称
System.out.println("请定义第"+(i+1)+"门课程的名字:");
course[i]=in.next();
}
for(int i=0;i<renshu;i++){//录入成绩
int s=0;
String str11="";
System.out.println("请输入第"+(i+1)+"个学生的姓名:");
name[i]=in.next();
for(int j=0;j<kechen;j++){
System.out.println("请输入"+name[i]+"的"+course[j]+"的成绩");
score[i][j]=in.nextInt();
s+=score[i][j];
str11+=score[i][j]+"\t";
}
sum[i]=s;
avg[i]=s/kechen;
str[i]=name[i]+"\t"+str11+sum[i]+"\t"+avg[i];
}
//效果输出
for(int i=0;i<str.length-1;i++){
for(int j=0;j<sum.length-1;j++){
if(sum[j]<sum[j+1]){
int t=sum[j];String t2=str[j];
sum[j]=sum[j+1];str[j]=str[j+1];
sum[j+1]=t;str[j+1]=t2;
}
}
}
System.out.print("学生");
for(int i=0;i<course.length;i++){
System.out.print("\t"+course[i]);
}
System.out.print("\t总分\t平均分\t排行榜");
System.out.println();
for(int i=0;i<renshu;i++){
/*System.out.print(name[i]);
for(int j=0;j<kechen;j++){
System.out.print("\t"+score[i][j]);
}
System.out.print("\t"+sum[i]);
System.out.print("\t"+avg[i]);*/
System.out.println(str[i]+"\t第"+(i+1)+"名");
System.out.println();
}
}
}
~~~
![](https://box.kancloud.cn/deae855dd6e5e7d2120ed7198e06af90_718x567.png)
- 书写心得
- 1.初识Java
- 2.变量、数据类型和运算符
- 实例:数据的输入
- 实例:变量互换
- 3.条件选择结构
- 案例:判断年份是否为闰年
- 案例:生成随机数
- 实例:剪刀石头布
- 4.循环结构
- 实例:猜数字游戏
- Myeclipse
- 实例:九九乘法表
- 实例:日历
- 5.数组
- JVM内存分析
- 键盘录入赋值数组
- 数组的length属性
- 数组的最大值(打擂台)
- 数组的排序
- 数组复制算法
- 数组的查找算法(搜索)
- 数组的插入算法
- 数组的冒泡算法
- 数组的选择排序
- 多维数组
- 实例:学生成绩管理系统
- 类和对象
- 概念
- 内存分析
- 创建类和对象
- 面向对象与内存分析
- 有参数无(有)返回值的调用
- 成员变量
- return和多参方法
- toString方法
- this关键字
- 封装
- 方法的重载
- 构造方法
- 阶段性总结
- 实例:学生管理系统
- Test.java
- Student.java
- Admin.java
- 构造代码块及构造函数之间的调用
- main方法和静态应用工具类及classpath
- static关键字
- 文档注释和静态代码块及单例模式
- 继承
- 多态
- 匿名对象和toString()和equals及final
- 抽象类和模板方法设计模式
- 接口
- 包机制和包与包之间的访问权限和jar包