一个简单的计算选修课程绩点的程序,欢迎大家指点下.

package 选修课程;

/**

*

* @author Administrator

*/

public class Student {    //学生类

Course s=new Course();

String stuName;

double maxGAP,minGAP;

static int stuID;

static int numberCourse;

static  Course[] list =new Course[numberCourse];

int [] stuSecor=new int[numberCourse];

double stuGAP;

public  Student()

{

list=new Course[numberCourse];

for(int i=0;i

list[i]=new Course();

stuSecor=new int[numberCourse];

}

public  int CourseNum(int x)

{

numberCourse=x;

return numberCourse;

}

public String getstuName()

{

return stuName;

}

public double getGAP()

{

return stuGAP;

}

public   static void setCourse( Course[] topic)

{

for(int i=0;i

{

list[i].CourseName=topic[i].CourseName;

list[i].CourseMark=topic[i].CourseMark;

}

}

public void addstudent(String name,int ID,int[]secor)

{

stuName=name;

stuID=ID;

for(int i=0;i

stuSecor[i]=secor[i];

}

public double  getstuGAP()

{

int i=0;

double smark=0,sumGAP=0,summark=0;

for(i=0;i

{

if(stuSecor[i]>=95)

smark=4.5;

else if(stuSecor[i]>=90)

smark=4.0;

else if(stuSecor[i]>=85)

smark=3.5;

else if(stuSecor[i]>=80)

smark=3.0;

else if(stuSecor[i]>=75)

smark=2.5;

else if(stuSecor[i]>=70)

smark=2.0;

else if(stuSecor[i]>=65)

smark=1.5;

else if(stuSecor[i]>=60)

smark=1.0;

else

smark=0;

sumGAP+=smark*list[i].CourseMark;

summark+=list[i].CourseMark;

}

stuGAP=sumGAP/summark;

return stuGAP;

}

public void setswap(Student stu1,Student stu2)

{

String name;

int id;

double GAP;

int[] secor = new int[Student.numberCourse];

name=stu1.stuName;

id=stu1.stuID;

GAP=stu1.stuGAP;

for(int i=0;i

secor=stu1.stuSecor;

stu1.stuName=stu2.stuName;

stu1.stuID=stu2.stuID;

stu1.stuGAP=stu2.stuGAP;

for(int i=0;i

stu1.stuSecor=stu2.stuSecor;

stu2.stuGAP=GAP;

stu2.stuID=id;

stu2.stuName=name;

for(int i=0;i

stu2.stuSecor=secor;

}

public void maxminGAP(Student[] stu)

{

double max,min;

if(stu.length==0)

min=max=-1;

min=max=stu[0].stuGAP;

for(int i=0;i

{

if(max

max=stu[i].stuGAP;

if(min>stu[i].stuGAP)

min=stu[i].stuGAP;

}

maxGAP=max;

minGAP=min;

}

public double getmin()

{

return minGAP;

}

public double getmax()

{

return maxGAP;

}

public void SortGPA( Student[] stu)

{

int i, j, pos;

for(i=0;i

{

for (j = (pos = i); j < stu.length; j++)

if (stu[pos].stuGAP< stu[j].stuGAP)

pos = j;

if (pos != i)

stu[i].setswap( stu[i], stu[pos]);

}

}

}

public class Course {  \\ Course类

String CourseName;

int  CourseMark;

public Course()

{

}

public Course(String Name,int Mark)

{

CourseName=Name;

CourseMark=Mark;

}

public String getCourseName()

{

return CourseName;

}

public int getCourseMark()

{

return CourseMark;

}

}

package 选修课程;

import java.util.*;

/**

*

* @author Administrator

*/

public class Main {

/**

* @param args the command line arguments

*/

public static void main(String[] args) {

Course r=new Course();

Student t=new Student();

int  Num, Mark,Id;

String  Name;

Scanner in=new Scanner(System.in);

System.out.println("请输入学生总人数");

Num=in.nextInt();

System.out.println("请输入选修课程总数");

int k=in.nextInt();

k=t.CourseNum(k);

Student [] stu=new Student[Num];

for(int i=0;i

stu[i]=new Student();

Course []  tp =new Course [k];

int [] score  =new int [k];

for(int i=0;i

{

System.out.println("请输入选修课程名称");

Name=in.next();

System.out.println("请输入选修课程学分");

Mark=in.nextInt();

tp[i]=new Course(Name,Mark);

}

Student.setCourse(tp);

for(int i=0;i

{

System.out.println("请输入学生姓名") ;

Name=in.next();

System.out.println("请输入学生学号");

Id=in.nextInt();

for(int j=0;j

{

System.out.println("请输入学生"+tp[j].getCourseName()+"的成绩");

score[j]=in.nextInt();

}

stu[i].addstudent(Name, Id, score);

t.getstuGAP();

System.out.println("您的GPA值是"+stu[i].getstuGAP());

}

t.maxminGAP(stu);

System.out.println("最大GAP是" + t.getmax()+"最小GAP是"+t.getmin());

t.SortGPA(stu);

for(int i=0;i

System.out.println("从高到低是"+stu[i].getGAP());

}

}

搜索更多相关主题的帖子:

课程 选修 欢迎

java计算课程学分绩点,一个简单的计算选修课程绩点的程序,欢迎大家指点下.相关推荐

  1. java如何创建一个文本框_创建一个有文本框和三个按钮的程序。当按下某个按钮时,使不同的文字(Java..._考试资料网...

    问答题创建一个有文本框和三个按钮的程序.当按下某个按钮时,使不同的文字("Java","编程","不难学")显示在文本框中.已经给出部分代码 ...

  2. 大学慕课MOOC设计一个简单的计算工具

    题目: ‎编程题: ‎设计一个简单的四则运算工具,有一个标题为"计算"的窗口,窗口布局为FlowLayout.设计四个按钮,分别命名为"加"."减&q ...

  3. java实现web服务器_Java 实现一个简单的web服务器

    在日常的开发中,我们用过很多开源的web服务器,例如tomcat.apache等等.现在我们自己实现一个简单的web服务器,基本的功能就是用户点击要访问的资源,服务器将资源发送到客户端的浏览器.web ...

  4. Java Tread多线程(0)一个简单的多线程实例

    作者 : 卿笃军 原文地址:http://blog.csdn.net/qingdujun/article/details/39341887 本文演示,一个简单的多线程实例,并简单分析一下线程. 编程多 ...

  5. Java网络编程(一)- 一个简单的服务端/客户端应用程序

    在Java中,我们使用java.net.Socket及其相关类来完成有关网络的相关功能.Socket类非常简单易用,因为Java技术隐藏了建立网络连接和通过连接发送数据的复杂过程.下面所说的内容只适用 ...

  6. java jws web_java 用jws发布一个简单的webservice

    第一步: 定义一个简单webservice接口 package Interface; import javax.jws.WebParam; import javax.jws.WebService; @ ...

  7. 标题相似度算法_一个简单的计算文章相似度功能!

    在做文章系统的时候,很多时候需要为这篇文章推荐最相近的文章. 解决思路是:给文章设定关键词然后模糊查询进行匹配.找到包含这个关键词的标题,然后给显示出来,作为最接近的文章. 但是有问题:这样的文章,排 ...

  8. 【计算机网络作业】Java UDP聊天 和 Socket编写一个简单的Web服务器

    1-1 假设Tom和Jerry利用Java UDP进行聊天,请为他们编写程序.具体如下: (1).Tom和Jerry聊天的双方都应该具有发送端和接收端: (2).利用DatagramSocket与Da ...

  9. java xmpp openfire_Openfire/XMPP学习之——一个简单的Smack样例

    昨天讲了Openfire的搭建和配置,今天来讲一下Smack.如果对如何搭建和配置Openfire的,可以参考Openfire/XMPP学习之--Openfire的安装.配置. Smack是一个开源, ...

最新文章

  1. 查mac对应ip的不同系统命令
  2. python数据结构视频百度云盘_数据结构与算法Python视频领课
  3. mfc控件变量没定义_WinCC字符串归档变量查询
  4. turtlebot机器人模拟平台
  5. 今天刚刚开通了写播客的功能,以后记录工作学习的点点滴滴
  6. Nagios监控lvs服务
  7. 让Dapper在一个项目中支持多种库
  8. 装机之MBR和GPT
  9. pycharm镜像源_pycharm安装第三方库
  10. 【Vue2.0】—过渡与动画(二十一)
  11. 为什么html中li浮动,相对定位下的绝对定位下的li为什么不能浮动??
  12. Alluxio部署(local模式)
  13. 190715每日一句
  14. pr警告项目使用计算机上目前不可用字体,pr2018以上新版字幕字体找不到的问题?...
  15. Intouch通过ODBC连接MySQL
  16. window重命名图片不带括号
  17. 国内常用地图坐标系总结
  18. 二叉树,平衡二叉树,B-Tree,B+Tree,跳表详解
  19. 小白也能看懂的华为防火墙配置教程
  20. Openwrt Kernel panic - not syncing: Fatal exception 解决方案

热门文章

  1. 【Axure原型分享】多选穿梭表格
  2. 第五届字节跳动青训营寒假 —— 前端专场
  3. [python]动态规划
  4. Ai 制作简单的iconfont字体图标
  5. 红米note9和红米note9 4G版的区别
  6. 电脑上设置声音的图标不见了怎么办?
  7. 小米9se(miui 10) 微信里保存的图片,发朋友圈时找不到的解决办法
  8. 微信小程序与H5标签、样式对比
  9. 广州计算机前十的技术学校,公立职业技术学校排名前五十
  10. Windows 10 内测版本已加入死机“绿屏”