⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 第4-5周作业.txt

📁 叫你如何从一个Java0基础到Java大师
💻 TXT
字号:
第4周作业
1、如果类X的静态初始化中调用了类Y的静态方法,而类Y的静态初始化块中由调用了类X的静态方法,这种情况叫循环静态初始化,请分析这种情况下类X和类Y的初始化过程。
2、编写一个类Stack(文件名为Stack.java),实现简单的栈(FILO)操作。
(1)成员函数有: 
  void put(int item);
   int get();
   boolean isEmpty(); 
   boolean isFull(); 
(2)数据成员:
    一个指出栈顶的指针top,及其他所需成员自定。
(3)同时写出测试程序TestStack.java,测试该类。
3、创建一个执行复数运算的Complex类。复数具有如下格式:
 realPart+imaginary*j
其中j为虚数。该类分别提供一个构造函数无参的默认构造函数,以防没有提供初始化值,及一个有参构造函数。同时提供为执行如下操作的公有方法:
(1)两个复数相加:实部与实部相加,虚部与虚部相加。
(2)两个复数相减:实部与实部相减(-号左侧实部减-号右侧实部),虚部与虚部相减(-号左侧虚部减-号右侧虚部)。
(3)两个复数相乘。(a+b*j)(x+y*j)=(ax-by)+(ay+bx)*j
(4)两个复数相除。(a+b*j)/(x+y*j)=(a+b*j)(x-y*j)/(x*x+y*y)
(5)以(a,b)的格式打印复数,其中a 是实部,b是虚部。
提供测试程序,测试该类。


第5周作业
5.1、修改第3周作业Date类,使其能正确完成1天的功能(考虑当前月份、是否是润年),另外增加构造函数,实现实例变量的初始化,并验证数据是否有效(如checkMonth()验证月份是否有效,checkDay()验证日是否有效);设计测试程序,在测试程序中通过循环测试,输出增加一天的nextDate方法是否有效。
5.2、设计Time类,具有日期和时间处理的功能:
(1) incrementHour()方法,增加1小时;
(2) incrementMinute()方法,增加1分钟;
(3) tick()方法,增加1秒;
(4)输出时间
相应地设计一个测试程序,测试上述方法,使时间增加到下一分钟、下一小时、下一天。
5.3、在作业5.1与5.2的基础上,设计DateAndTime类,修改incrementHour()方法,使其在时间增加到下一天时,调用nextDate方法。设计toStandardString方法,输出日期和时间(格式:yyyy-mm-dd  hh:mm:ss)
5.4、用面向对象程序设计方法解决Josephus问题。(文件名Josephus.java)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -