3.学生管理系统
import java.util.Scanner;
public class Hello {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
Scanner in=new Scanner(System.in);
System.out.println("请输入学生的人数:");
int renshu=in.nextInt();
System.out.println("请输入课程的数目:");
int courseNum = in.nextInt();
String[] name = new String[renshu];//申请一个长度为renshu的name字符串数组
String[] course = new String[courseNum];//声明一个课程名称的字符串数组
int[][] number = new int[renshu][courseNum];//声明二维数组也即矩阵a[i][j],是某个人什么成绩为多少分
int[] sum=new int[renshu];//有多少个人就有多少个总分
int[] avg=new int[renshu];
String[] str=new String[renshu];
/*
* 用来循环存储课程的名称
*/
for (int i=0;i<courseNum;i++)
{
System.out.println("请定义第"+(i+1)+"门课程的名字");
course[i]=in.next(); //course为字符串类型直接next不用加char;接收字符串存入course
}
/*
用来录入学生的各科成绩
*/
for (int i=0;i<renshu;i++)
{
int S=0;
System.out.println("请输入学生的姓名:");
name[i]=in.next();
//接收输入学生姓名的字符串数组
String str11="";
for (int j=0;j<course.length;j++)
{
System.out.println("请输入学生"+name[i]+course[j]+"的成绩");
number[i][j] =in.nextInt();//输入二维数组用来存储特定学生的特定成绩
S+=number[i][j];
str11+=number[i][j]+"\t";
}
sum[i]=S; //某个人的成绩的总和
avg[i]=S/courseNum;
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 t1=sum[j]; String t2=str[j];
sum[j]=sum[j+1]; str[j]=str[j+1];
sum[j+1]=t1; 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.println(str[i]+"\t第"+(i+1)+"名");
}
/* for (int i=0;i<renshu;i++)
{
System.out.print(name[i]);
for (int j=0;j<courseNum;j++)
{
System.out.print("\t"+number[i][j]);
}
System.out.print("\t"+sum[i]);
System.out.print("\t"+avg[i]);
System.out.println();
}*/
}
}
学生管理系统
最新推荐文章于 2019-07-25 09:53:45 发布