java实现课程表

java实现课程表,第1张

写一个课程表计算程序java

import java.util.ArrayList

import java.util.List

import javax.swing.JOptionPane

class Course {

private String course

private String unit

private String grade

private String score

public String getCourse() {

return this.course

}

public void setCourse(String course) {

this.course = course

}

public String getUnit() {

return this.unit

}

public void setUnit(String unit) {

this.unit = unit

}

public String getGrade() {

return this.grade

}

public void setGrade(String grade) {

this.grade = grade

}

public String getScore() {

return this.score

}

public void setScore(String score) {

this.score = score

}

}

class GPAInfo {

private String name

private List<Course>courseInfo

private String gpa

public String getName() {

return this.name

}

public void setName(String name) {

this.name = name

}

public List<Course>getCourseInfo() {

return this.courseInfo

}

public void setCourseInfo(List<Course>courseInfo) {

this.courseInfo = courseInfo

}

public String getGpa() {

return this.gpa

}

public void setGpa(String gpa) {

this.gpa = gpa

}

}

public class GPA {

public static void main(String[] args) {

// String hasNextStudent = "y"

String hasNextCourse = "y"

// List<GPAInfo>gpaInfolist = new ArrayList<GPAInfo>()

// while((hasNextStudent != null) &&"y".equals(hasNextStudent.toLowerCase())) {

GPAInfo gpaInfo = new GPAInfo()

String name = JOptionPane.showInputDialog("enter a name")

gpaInfo.setName(name)

List<Course>courselist = new ArrayList<Course>()

while ((hasNextCourse != null) &&"y".equals(hasNextCourse.toLowerCase())) {

Course course = new Course()

String courseName = JOptionPane.showInputDialog(" What class do you have?")

course.setCourse(courseName)

String unit = JOptionPane.showInputDialog(" Enter the units you get")

course.setUnit(unit)

String grade = JOptionPane.showInputDialog(" Grade you get?")

course.setGrade(grade)

course.setScore(String.valueOf(getScore(grade.toCharArray()[0])))

courselist.add(course)

hasNextCourse = JOptionPane.showInputDialog(" other class? Yes or no")

}// while has next course

hasNextCourse = "y"

gpaInfo.setCourseInfo(courselist)

gpaInfo.setGpa(getGpa(courselist))

// gpaInfolist.add(gpaInfo)

// hasNextStudent = JOptionPane.showInputDialog(" other student? Yes or no")

// }// while has next student

String output = ""

// for (GPAInfo gpaInfo : gpaInfolist) {

output += "名字:" + gpaInfo.getName() + "\n"

output += "课程 学分 成绩" + "\n"

// List<Course>courselist = gpaInfo.getCourseInfo()

for (Course course : courselist) {

output += course.getCourse() + " " + course.getUnit() + " " + course.getScore() + "\n"

}

output += "平均点数GPA " + gpaInfo.getGpa() + "\n\n"

// }

System.out.println(output)

JOptionPane.showMessageDialog(null, output)

System.exit(-1)

}

private static String getGpa(List<Course>courselist) {

double avg = 0

int totalScore = 0

int totalUnit = 0

for (Course course : courselist) {

totalUnit += Integer.parseInt(course.getScore())

totalScore += Integer.parseInt(course.getUnit()) * Integer.parseInt(course.getScore())

}

if (totalUnit != 0) {

avg = totalScore / totalUnit

}

if (avg >4) {

avg = 4

}

return String.valueOf(avg)

}

private static int getScore(char score) {

int point

score = Character.toUpperCase(score)

switch (score) {

case 'A':

point = 4

break

case 'B':

point = 3

break

case 'C':

point = 2

break

case 'D':

point = 1

break

default:

point = 0

break

}

return point

}

}

怎么制作一个JAVA的课程表程序(需要详细解答)

写个

课程表

程序倒是不难,只要使用java.util.Calendar类,可以做个

万年历

课表,不过要界面就要配合swing,但是你要在手机上运行就不能使用

j2se

,要用

j2me

.不过个人建议不要用java,java在手机上要用

java虚拟机

才可以运行,效率慢,所以建议使用C++

嵌入式编程

请帮我用JAVA数组的方式编写一个课程表,感激不尽!

public class IdUtil {

public static void main(String[] args) {

//七天的课程

String[] week = new String[7]

//每天的课程名

week[0] = "语文,语文,语文,语文,语文,语文,语文,语文,语文,语文"

week[1] = "数学,数学,数学,数学,数学,数学,数学,数学,数学,数学"

week[2] = "外语,外语,外语,外语,外语,外语,外语,外语,外语,外语"

week[3] = "物理,物理,物理,物理,物理,物理,物理,寂寞学,物理,物理"

week[4] = "化学,化学,化学,化学,化学,化学,化学,化学,化学,化学"

week[5] = "生物,生物,生物,生物,生物,生物,生物,生物,生物,生物"

week[6] = "寂寞学,寂寞学,寂寞学,寂寞学,寂寞学,寂寞学,寂寞学,寂寞学,寂寞学,寂寞学"

//上课时间

String[] time = {"8:00","9:00","8:00","8:00","8:00","8:00","8:00","8:00","8:00","8:00"}

for(int a=1a<8a++){

System.out.print("\t"+"星期"+a)

}

System.out.println()

int b = 0

for(int i=1i<11i++){

switch (i) {

case 1:

System.out.println("上午")

break

case 5:

System.out.println("下午")

break

case 9:

System.out.println("晚上")

break

}

System.out.print(time[i-1]+"\t")

for(int j=0j<7j++){

System.out.print(week[j].split(",")[b]+"\t")

}

System.out.println()

b++

}

}

}

用JAVA编写课程表cource 包含: 3个成员变量:课程编写(cnumber)、课程名(name)和学分(cunit)

要实现的什么说具体点

class cource{

int cnumber

String name

float cunit

}

java学习有没有课程表

课程表没有,这是朋友在叩丁狼学习的课程大纲,可以给你看看参考一下

第一阶段Java基础阶段

第二阶段、JavaWeb阶段

第三阶段、Web前端阶段

第四阶段、高级框架和技术阶段

第五阶段、互联网高薪技术阶段

第六阶段、七大实战项目(项目部分)阶段

用java实现课程表

你只需要一个选课表,存学生ID,课程ID,所有学生的选课都是这一个表,每次选课加一条数据,展现的时候根据用户去查选课表就行了

用Java做一个课程表

创建2个对象 *** ,判断差异,如果存在差异就将那条数据保存为文件内容

基本就这么简单

用java编写课程表

可以用GUI画个8X7的宫格

用Java怎样实现课表代码有周次

课表数据时存储于数据库中的吗?

/**

* 获取一周的时间 *** (从周一到周日)

* @param weekNum -1:上周;0:本周;1:下周

*/

public static List<Date>getWeekDates(int weekNum){

List<Date>list = new ArrayList<Date>()

Calendar cal = Calendar.getInstance()

// 获取指定下几个星期

cal.add(Calendar.DAY_OF_WEEK, weekNum * 7)

cal.setFirstDayOfWeek(Calendar.MONDAY)

cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY)

list.add(cal.getTime())

for(int i = 0i <6i++){

cal.add(Calendar.DAY_OF_WEEK, 1)

list.add(cal.getTime())

}

return list

}

这个是获取这一周时间的代码 ,之后用下面的代码获取周一到周日的日期

List<Date>ds = DateUtil.getNowWeekDates(weekNum)

ds.get(0)//周一

ds.get(6)//周日

用这两个时间到数据库中进行范围查询,之后的你应该明白了吧

一、功能模块概要说明:

1.输入函数:

char* uscanf(int,int,int) //图形模式下输入函数,大小写26个字母0-9数字外加空格键为有效输入,可以使用BACKSPACE。

2.开始界面,退出界面和主界面:

void starting() //开始界面

void end() //结束界面

char* index() //主选择界面函数,返回选择信息(字符串);

3.数据输入、创建链表模块

char* tinkey(char*,int,int) //输入切换处理

char* recourse(char*,int,int) //课程输入

int wdetect(struct person*,char*) //课程输入检测,检测课表一星期同一天同一时间段内课程安排是否重复,如果重复给出修改提示信息

char* infuse(char*,char*,int) //课表输入

struct course *ccreat(char*) //创建课程单向链表

struct person* pcreat(char *) //创建个人课表节点

char *infcreat(char**,struct person**,struct person**,char*)

//创建课表双向链表

4.课表输出

char *print(char*) //课表输出背景界面

char *pkey() //课表输出按纽界面及处理

int table(int,int,struct person*) //在指定区域一表格形式输出一个人的课表

int forebox(struct person*) //初略显示下三个人的课表提示

5.文件存储和装载

char* save(char *,struct person *) //保存为磁盘文件,在图形模式下进行文件读写 *** 作之后,程序出现莫名其妙的异常显示情形

6.课表查询:

struct person *pdemand(struct person *,char *) //按人名字查询其课表安排。

struct person* wddemand(struct person*,int) //按星期几查询课程安排情况。

struct person *cdemand(struct person *,char *) //按课程查询老师或学生课程安排情况。

char *demand(struct person *) // 查询切换,并显示查询结果,按名字查询一次只能一个。按星期几和课程查询可以查询到多个,如查询到多个接果,按任意键可依次输出。

7.排序。

struct course *csort(struct course *) //按课程编号排序课表节点中课程链表

struct person *psort(struct person *) //按人学号或老师编号排序课表链表

char sort(struct person*) //排序切换,并提示排序结果

8.插入。

char *insert(char *,struct person **,struct person **)

//擦入课表节点

9.删除。

char *delete(struct person **,char *)

//按人名删除其课表节点

二、 *** 作说明:

1. Infuse:选定这个键后按Enter进入学生输入菜单,你可以输入学生的学号,姓名,学生在一学期内的所学课程的课程名,课程号,学时,以及在一周内上课的地址。如果当输入某课程上课地址有重复时,系统自动发出报警信息,并提示出错的地方,以便修改,

当选定couse时,表明此学生所学的该课程的信息输入完成再输入另外所学课程的信息,如上所写照样输入,

当选定finish时,并按回车键后,表明此学生在这一学期内所学的课程信息输入完成。如要继续输入学生的信息如前所述。

当选定back时,并按下回车键后,返回TIME TABLE主菜单,选择主菜单里的功能对所输入的信息进行处理。

当选定exit时,并按下回车键后,返回程序。结束程序。

2.SAVE/LOAD 选定此并按回车。此键作用对所输入的信息进行格式输出/载入。输入你要保存信息的文件名,文件格式系统自动生成。利用键盘上的方向键和TAB键进行控制。

3.DEMAND:按ENTER键开始输入,按反向键进行查询切换。当按星期几和课程查询时候,如遇到查询到多个结果,按任意键可依次输出直到完。

4.INSERT:按ENTER键开始输入,按反向键进行查询切换。输入同INFURE项。

5. DELETE: 按ENTER键显示输入框开始输入。其他同上。

6.SORT:当提示框中SORT变为红色时候,表示被选中,按ENTER键开始插入,如成功给出提示信息。

7.PRINT:依次输出链表,如果输出链表为空则不进仍输出页面。NEXT为下一个,PRO为上一个。下面FORENOTICE 框显示后三个节点。

8.EXIT:退出系统。效果同按ESC。

三、例程:

#include <stdio.h>

#include <stdlib.h>

#include<string.h>

int main()

{

 char *p[8][5],*a

 int i=0,j=0,n

 a=(char *)malloc(sizeof(char))

 for(j=0j<5j++)

  for(i=0i<8i++)

  { 

   printf("周%d第%d节",j+1,i+1)

   scanf("%s",a)

   p[j][i]=a

   a=(char *)malloc(sizeof(char))

  }

 printf("周一\t\t周二\t\t周三\t\t周四\t\t周五\n")

 for(j=0j<5j++){

  for(i=0i<8i++)

  { 

   printf("%s\t\t",p[j][i])

  }

  printf("\n")

 }

}


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/7899656.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-11
下一篇 2023-04-11

发表评论

登录后才能评论

评论列表(0条)

保存