import java.util.Scanner;
public class Student{
public static void main(String[] args){
Scanner in=new Scanner(System.in);
System.out.println("请输入学生的人数");
int studentsNum=in.nextInt();
System.out.println("请输入课程数目");
int coursesNum=in.nextInt();
//声明数组存储课程
String[] courses=new String[coursesNum];
//声明数组存储姓名
String[] names=new String[studentsNum];
//声明二维数组存储特定成绩
double[][] scores=new double[studentsNum][coursesNum];
//声明数组存储总分
double[] sum=new double[studentsNum];
//声明数组存储平均分
double[] avg=new double[studentsNum];
//声明数组存储一行
String[] str=new String[studentsNum]; //循环给课程数组赋值
for(int i=0;i<courses.length;i++){
System.out.println("请输入第"+(i+1)+"门课程是什么");
courses[i]=in.next();
} //循环给姓名数组和成绩赋值
for(int i=0;i<names.length;i++){
System.out.println("请输入第"+(i+1)+"个学生的姓名:");
names[i]=in.next();
double s=0;
String str1="";
for(int j=0;j<courses.length;j++){
System.out.println("请输入"+names[i]+courses[j]+"的成绩:");
scores[i][j]=in.nextDouble();
s=s+scores[i][j];
str1=str1+scores[i][j]+"\t";
}
sum[i]=s;
avg[i]=s/coursesNum;
str[i]=names[i]+"\t"+str1+sum[i]+"\t"+avg[i]+"\t";
} //按照表格形式输出
System.out.print("学生\t");
for(int i=0;i<courses.length;i++){
System.out.print(courses[i]+"\t");
}
System.out.print("总分\t平均分\t排行榜\t");
System.out.println(); for(int i=0;i<sum.length-1;i++){
for(int j=0;j<sum.length-1;j++){
if(sum[j]<sum[j+1]){
double temp=sum[j];//叫总分高的排在前面
sum[j]=sum[j+1];
sum[j+1]=temp; String temp2=str[j];//将整行交换
str[j]=str[j+1];
str[j+1]=temp2;
} }
} for(int i=0;i<names.length;i++){
//System.out.print(names[i]+"\t");
//for(int j=0;j<courses.length;j++){
//System.out.print(scores[i][j]+"\t");
//}
//System.out.print(sum[i]+"\t"+avg[i]+"\t");
System.out.print(str[i]);
System.out.print("第"+(i+1)+"名");
System.out.println();
}
}
}

Java基础15-数组实例学生管理系统的更多相关文章

  1. Java实现功能简单的学生管理系统(附带源代码)

    这几天Java学了点新的知识,打算要用这些知识做一个比较简单的管理系统,实战一下子,代码中的功能简洁,可能不多,但是作为一个练手来了解一个项目是怎么样一点一点思考的还是不错的 一.代码中要实现的功能 ...

  2. 使用Java MVC模式设计一个学生管理系统

    最近在做web实验,要求是用jsp+servlet+mysql实现一个学生管理系统,完成对数据库的增删改查. 效果图:   代码: package dao; import java.util.List ...

  3. Java基础之 数组详解

    前言:Java内功心法之数组详解,看完这篇你向Java大神的路上又迈出了一步(有什么问题或者需要资料可以联系我的扣扣:734999078) 数组概念 同一种类型数据的集合.其实数组就是一个容器. 数组 ...

  4. java基础(十) 数组类型

    1. 数组类简介   在java中,数组也是一种引用类型,即是一种类. 我们来看一个例子,理解一下数组类: public static void main(String[] args) { Class ...

  5. 【JAVA基础】数组练习案例一

    /* * * 输入5个学生成绩 * 计算出每个成绩与最高分的差距 * 根据差距分配等级 * * */ import java.util.Scanner; public class ArrayTask ...

  6. Java基础-反转数组

    /** java基础,如何将一个数组反转,思考方法采用使用临时变量的情况下,将第一个元素与第二个元素进行反转,需要定义两个索引,一个记录数组的第一个元素与最后一个元素,将其两两交换* */public ...

  7. java基础09 数组的使用

    /** * 求数组中的最大值 */ @Test public void test14(){ //定义一个数组 参赛的选手 int [] nums={50,20,30,80,100,90}; //定义一 ...

  8. 【java基础 15】java代码中“==”和equals的区别

    导读:昨夜闲来无事,和贾姑娘聊了聊java基础,然后就说到了这个"=="和equals的问题,我俩都是以前了解过,也常用这个,但是,昨天说到的时候,又乱了,什么比较地址值,什么判断 ...

  9. java 基础概念 -- 数组与内存控制

    问题1: Java在声明数组的过程中,是怎样分配内存的? 在栈内存中 建一个数组变量,再在堆内存中 建一个 数组对象.至于详细的内存分配细节,还得看 该初始化是 数组动态初始化 还是 数组静态初始化. ...

随机推荐

  1. MySQL安装与管理

    数据库服务器.数据库和表的关系 –所谓安装数据库服务器,只是在机器上装了一个数据库管理程序,这个管理程序可以管理多个数据库,一般开发人员会针对每一个应用创建一个数据库. –为保存应用中实体的数据,一般 ...

  2. Gym - 100792C Colder-Hotter(三分交互)

    Colder-Hotter Statements This is an interactive problem. Egor and Petr are playing a game called «Co ...

  3. 在 Java 的反射中,Class.forName 和 ClassLoader 的区别

    1. 解释 在java中Class.forName()和ClassLoader都可以对类进行加载.ClassLoader就是遵循双亲委派模型最终调用启动类加载器的类加载器,实现的功能是“通过一个类的全 ...

  4. linq 事务处理

    首先引用使名空间: using System.Transactions; 然后写入代码: using (TransactionScope ts = new TransactionScope()) { ...

  5. java 文件的读写操作

    java  文件的读写操作 一.读: public String getSetting() { HttpServletRequest request=org.apache.struts2.Servle ...

  6. epoll简介

    1.epoll简介 epoll是I/O事件通知工具,与select/poll相比,epoll最大的好处在于它不会随着监听fd数目的增长而效率降低.epoll API既可以用作edge触发的接口,也可以 ...

  7. 利用BIND搭建自己的私有根及授权域

    这篇文章是对之前博客写的DNS的再深一层的搭建,其中包括搭建私有根,还有顶级域以及授权子域,转发域,反向解析等等 上一篇DNS的博客链接:http://www.cnblogs.com/hjc4025/ ...

  8. Nginx部署静态页面及引用图片有效访问的两种方式

    nginx安装百度一下有很多,直接正题: 静态文件目录结构 file#文件位置 /home/service/file/ css js images html fonts 配置nginx.conf核心代 ...

  9. LINQ和Lambda表达式

    前言 前段时间接触了一种新的表达式,但是不知道这个是什么意思,所以就先站在巨人的肩膀用了,现在听师哥说这种写法是Lambda表达式.我一直以为,这个Lambda表达式和LINQ查询有异曲同工之妙,可惜 ...

  10. sql遍历查询结果sql循环查询结果集sql循环查询

    --查询表B,把查询到的数据插入临时表#A中,根据表B 的ID 进行排序:表#A中 的 i  字段 由1开始增加排序:        SELECT ROW_NUMBER() OVER ( ORDER ...