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++;
}
}
课表数据时存储于数据库中的吗?
/**
* 获取一周的时间集合(从周一到周日)
* @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程序中数据的储存方法有哪些?java程序中数据储存方法如下:一种是栈内存,另一种是堆内存(1)在函数中定义的基本类型变量(即基本类型的局部变量)和对象的引用变量(即对象的变量名)都在函数的栈内存中分配;(2)堆内存用来存放由new创建的对象和数组以及对象的实例变量(即全局变量)。在函数(代码块)中定义一个变量时,java就在栈中为这个变量分配内存空间,当超过变量的作用
在深圳学完了Python培训课程可以从事哪些工作呢在深圳学完了Python培训课程,你可以考虑从事以下职业:Python开发工程师:Python开发工程师是Python编程语言领域中最常见的职业之一。他们负责使用Python开发各种类型的应用程序,包括Web应用、桌面应用、数据分析和人工智能等。如果你熟悉Python编程和相关的开发框架,具备良好的编程技巧和逻辑思维能力,那么成为一名P
python编程对电脑配置的要求python电脑配置?可以参考如下配置:CPU为酷睿i5/i7内存4G/8G硬盘500G,或者用SSD前面一个为基础配置,后面的为更好的选项。网上价格3000~6000。更重要的,做量化需要数据、需要量化引擎系统,这需要很多开发工作,可以自己抓取数据和用开源的回测引擎。Python是纯粹的自由软件,源代码和解释器CPython遵
九九乘法表怎么用JAVA语言编写如果把九九乘法表中如“1*1=1”等式全部看作一个个整体的话,九九乘法表可看作一个直角三角形,实现直角三角形可用两个for循环嵌套来实现,那么我们最后输出应为System.out.print(变量1+"*"+变量2+"="+(变量1*变量2)+"")。输入代码如下:packagech02;publicclass TEST{publicstaticvoi
java编写的程序窗口显示有问题特别小(citespace)WIN10高分辨率,导致程序窗口变小.解决方案一:调节WIN10的显示设置,对大多数的应用程序等都有效果桌面上右键单击--->选择显示设置--->方法1:可以选择更改文本,应用项目大小,比如选择150%程序窗口会变大--->方法2:可以把分辨率调小比如1920*1080调节成1
简述python程序的运行过程Python程序的运行过程可以分为以下几个步骤:1.源代码的编写:首先,程序员会使用文本编辑器(如SublimeText、Notepad++、VisualStudioCode等)编写Python代码,这些代码被保存为.py文件。2.源代码的编译:Python解释器会将源代码转换为字节码(bytecode),这是一种低级语言,可以被P
开课吧技术学院有一些什么课程自成立以来,开课吧IT培训技术学院(无限互联IT培训技术学院)一直以“培养互联网核心岗位开发人才”为己任,积极探索解决大学生就业问题,自主研发了iOS、Android、Java大数据、智能硬件、WEB全栈等课程体系。无限互联凭借自身积累的研发实力和深厚的行业资源优势,独创的课程设置、优秀的实战派教师团队,教学成果显著,学员就业率和薪资福利一直处于行业内领先地位。
2023-12-21 16:29:16
2023-12-24 20:21:11
2024-03-31 15:14:06
2024-03-21 00:22:13
2024-02-10 22:15:59
2023-12-26 22:10:45