java计算课程学分绩点,一个简单的计算选修课程绩点的程序,欢迎大家指点下.
一个简单的计算选修课程绩点的程序,欢迎大家指点下.
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计算课程学分绩点,一个简单的计算选修课程绩点的程序,欢迎大家指点下.相关推荐
- java如何创建一个文本框_创建一个有文本框和三个按钮的程序。当按下某个按钮时,使不同的文字(Java..._考试资料网...
问答题创建一个有文本框和三个按钮的程序.当按下某个按钮时,使不同的文字("Java","编程","不难学")显示在文本框中.已经给出部分代码 ...
- 大学慕课MOOC设计一个简单的计算工具
题目: 编程题: 设计一个简单的四则运算工具,有一个标题为"计算"的窗口,窗口布局为FlowLayout.设计四个按钮,分别命名为"加"."减&q ...
- java实现web服务器_Java 实现一个简单的web服务器
在日常的开发中,我们用过很多开源的web服务器,例如tomcat.apache等等.现在我们自己实现一个简单的web服务器,基本的功能就是用户点击要访问的资源,服务器将资源发送到客户端的浏览器.web ...
- Java Tread多线程(0)一个简单的多线程实例
作者 : 卿笃军 原文地址:http://blog.csdn.net/qingdujun/article/details/39341887 本文演示,一个简单的多线程实例,并简单分析一下线程. 编程多 ...
- Java网络编程(一)- 一个简单的服务端/客户端应用程序
在Java中,我们使用java.net.Socket及其相关类来完成有关网络的相关功能.Socket类非常简单易用,因为Java技术隐藏了建立网络连接和通过连接发送数据的复杂过程.下面所说的内容只适用 ...
- java jws web_java 用jws发布一个简单的webservice
第一步: 定义一个简单webservice接口 package Interface; import javax.jws.WebParam; import javax.jws.WebService; @ ...
- 标题相似度算法_一个简单的计算文章相似度功能!
在做文章系统的时候,很多时候需要为这篇文章推荐最相近的文章. 解决思路是:给文章设定关键词然后模糊查询进行匹配.找到包含这个关键词的标题,然后给显示出来,作为最接近的文章. 但是有问题:这样的文章,排 ...
- 【计算机网络作业】Java UDP聊天 和 Socket编写一个简单的Web服务器
1-1 假设Tom和Jerry利用Java UDP进行聊天,请为他们编写程序.具体如下: (1).Tom和Jerry聊天的双方都应该具有发送端和接收端: (2).利用DatagramSocket与Da ...
- java xmpp openfire_Openfire/XMPP学习之——一个简单的Smack样例
昨天讲了Openfire的搭建和配置,今天来讲一下Smack.如果对如何搭建和配置Openfire的,可以参考Openfire/XMPP学习之--Openfire的安装.配置. Smack是一个开源, ...
最新文章
- 查mac对应ip的不同系统命令
- python数据结构视频百度云盘_数据结构与算法Python视频领课
- mfc控件变量没定义_WinCC字符串归档变量查询
- turtlebot机器人模拟平台
- 今天刚刚开通了写播客的功能,以后记录工作学习的点点滴滴
- Nagios监控lvs服务
- 让Dapper在一个项目中支持多种库
- 装机之MBR和GPT
- pycharm镜像源_pycharm安装第三方库
- 【Vue2.0】—过渡与动画(二十一)
- 为什么html中li浮动,相对定位下的绝对定位下的li为什么不能浮动??
- Alluxio部署(local模式)
- 190715每日一句
- pr警告项目使用计算机上目前不可用字体,pr2018以上新版字幕字体找不到的问题?...
- Intouch通过ODBC连接MySQL
- window重命名图片不带括号
- 国内常用地图坐标系总结
- 二叉树,平衡二叉树,B-Tree,B+Tree,跳表详解
- 小白也能看懂的华为防火墙配置教程
- Openwrt Kernel panic - not syncing: Fatal exception 解决方案