A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© crosam 中级黑马   /  2015-9-2 00:09  /  482 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

package lianxi_1;
//学生成绩管理系统
import java.util.*;
public class Test23{
        public static void main(String args[]){
                Scanner in=new Scanner(System.in);
                System.out.print("请输入学生人数:");//键盘输入参数
                int renshu=in.nextInt();
                System.out.print("请输入课程门数:");//键盘定义参数
                int courseNum=in.nextInt();
                String [] name=new String[renshu];//声明一个String数组来存名字
                String[] course=new String[courseNum];//声明一个String数组存储课程名字
                int[][] number=new int[renshu][courseNum];
                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;//声明一个S初始值为0
                        System.out.println("请输入学生姓名:");
                        name[i]=in.next();
                       
                        String str11="";
                       
                        for(int j=0;j<courseNum;j++){
                                System.out.println("请输入学生"+name[i]+course[j]+"的成绩:");
                                        number[i][j]=in.nextInt();//用来存特定学生的成绩
                                        S+=number[i][j];//成绩累加
                                        //str11字符把各科分数整合起来
                                        str11+=number[i][j]+"\t";
                                       
                        }
                        sum[i]=S;
                        avg[i]=S/courseNum;
                        //str[i]字符组把名字,各科分数,总分,平均分、整合起来
                        str[i]=name[i]+"\t"+str11+sum[i]+"\t"+avg[i];
               
                }
                for(int i=0;i<sum.length-1;i++){//一sum为标志比较小
                        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.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();//起换行作用
                        全部等效于str[i]输出
                        */
                                System.out.println(str[i]+"\t第"+(i+1)+"名");
                        }
               
               
                }
}
               
                       
               
               
       

4 个回复

正序浏览
赞一个。。。
回复 使用道具 举报
a80C51 来自手机 中级黑马 2015-9-2 07:54:28
板凳
写的不错。
回复 使用道具 举报
非常的不错,继续加油
回复 使用道具 举报
才子你这写的挺实在的
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马