2024-06-22 04:57:05 | 我爱编程网
给你个思路
先把现实中对象分离出来
教室:教室名称、教室位置、座位
教师:姓名、年龄、籍贯等
科目:名称、上课时间等
学生:姓名、年龄、性别等
再分析它们的关系
比如一名教师可能同时教多个科目
而每个科目可能有多名任课教师
那他们的关系就是多对多
这种在数据库中存放有张中间表、存放对应关系
就这样一点一点找、一点一点分析
就不乱了
我以为你要写学生选课系统呢
看来错了、以下部分针对你课表分析
--------------------------------------------------------------
每周是一个循环
周是最大的,你可以把它定义成课表
然后是天,课程表中有7天
每天有固定几节课程
那么每节课是最小单位
再分析节中有多少元素
起码有名称、教师、节次
大约是这个样子滴
public class 课程表{
map 时间 = new HashMap(){节次:时间}
周 XX = new 周();
}
public class 周(){
周几?我爱编程网
List 节;
}
public class 节(){
名称;
教师;
节次;
}
仅仅是给你提供个思路
根据自己需要简化或增加
最简单的数据结构就是直接扔到二维数组中
0, 1, 2, 3, 4, 5, 6
0 X ,X ,X ,X ,X ,X ,X
1 X, X, X ,X ,X ,X ,X
2 X, X, X, X, X, X, X
这不正好么!
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=1;a<8;a++){
System.out.print("\t"+"星期"+a);
}
System.out.println();
int b = 0;
for(int i=1;i<11;i++){
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=0;j<7;j++){
System.out.print(week[j].split(",")[b]+"\t");
}
System.out.println();
b++;
}
}
}
我爱编程网(https://www.52biancheng.com)小编还为大家带来用Java怎样实现课表代码?有周次的相关内容。
课表数据时存储于数据库中的吗?
/**
* 获取一周的时间集合(从周一到周日)
* @param weekNum ;-1:上周;0:本周;1:下周
*/
public static List
List
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 = 0;i < 6;i++){
cal.add(Calendar.DAY_OF_WEEK, 1);
list.add(cal.getTime());
}
return list;
}
这个是获取这一周时间的代码 ,之后用下面的代码获取周一到周日的日期
List
ds.get(0)//周一
ds.get(6)//周日
用这两个时间到数据库中进行范围查询,之后的你应该明白了吧
大学编程课是学什么的大学编程课主要学c语言、Python、C++、JavaScript、Java等。c语言:c语言作为一种简单灵活的高级编程语言,它是一个面向过程的语言,一般是作为计算机专业的基础入门语言课程。Python:Python是一种面向对象、交互式计算机程序设计语言。它的特点是语法简捷而清晰。由于它的易学、易读的特性,有些学校用它代替c语言作为基础入门的语言
java程序怎么测量所使用的内存大小,Runtime.maxMemory();//最大JVM内存(就是你配置给JVM的值)Runtime.totalMemory();//JVM可支配的最大内存值Runtime.freeMemory();//剩余内存空间另外给一个例子:Runtimerun=Runtime.getRuntime();longmax=run.maxMemo
开课吧技术学院有一些什么课程自成立以来,开课吧IT培训技术学院(无限互联IT培训技术学院)一直以“培养互联网核心岗位开发人才”为己任,积极探索解决大学生就业问题,自主研发了iOS、Android、Java大数据、智能硬件、WEB全栈等课程体系。无限互联凭借自身积累的研发实力和深厚的行业资源优势,独创的课程设置、优秀的实战派教师团队,教学成果显著,学员就业率和薪资福利一直处于行业内领先地位。
在深圳学完了Python培训课程可以从事哪些工作呢在深圳学完了Python培训课程,你可以考虑从事以下职业:Python开发工程师:Python开发工程师是Python编程语言领域中最常见的职业之一。他们负责使用Python开发各种类型的应用程序,包括Web应用、桌面应用、数据分析和人工智能等。如果你熟悉Python编程和相关的开发框架,具备良好的编程技巧和逻辑思维能力,那么成为一名P
PHP应用中常用的9大缓存技术?一、全页面静态化缓存也就是将页面全部生成html静态页面,用户访问时直接访问的静态页面,而不会去走php服务器解析的流程。此种方式,在CMS系统中比较常见,比如dedecms;一种比较常用的实现方式是用输出缓存:Ob_start()******要运行的代码*******$content=Ob_get_contents();****将缓存内容
java内存不足怎么解决?这个问题的根源是jvm虚拟机的默认Heap大小是64M,可以通过设置其最大和最小值来实现.设置的方法主要是几个.1.可以在windows更改系统环境变量加上JAVA_OPTS=-Xms64m-Xmx512m2,如果用的tomcat,在windows下,可以在C:\tomcat5.5.9\bin\catalina.bat中加上:setJAVA_OP
php中的&表示什么呢?PHP中&&与&的区别:1、运算符性质的区别&&在PHP中是一个逻辑操作符,也叫条件操作符。&是逻辑语言,逻辑上表示两者属于缺一不可的关系,还可以表示一个人和另外一个人之意,与and同义。如A&B,表示A与B,A和B,A×B。2、作用上的区别&&就是判断两个表达式的
java编写的程序窗口显示有问题特别小(citespace)WIN10高分辨率,导致程序窗口变小.解决方案一:调节WIN10的显示设置,对大多数的应用程序等都有效果桌面上右键单击--->选择显示设置--->方法1:可以选择更改文本,应用项目大小,比如选择150%程序窗口会变大--->方法2:可以把分辨率调小比如1920*1080调节成1
2025-02-01 20:24:39
2025-02-12 03:21:37
2025-02-10 15:19:48
2025-01-28 17:58:32
2024-11-22 05:08:01
2024-09-10 08:50:00