java实验报告mydate_实验报告一

这篇博客展示了两个Java编程实验,包括创建MyDate类并输出日期,以及探讨基本的Java运算和数组操作。MyDate类包含了日期属性和显示日期的方法,而在运算实验中,博主演示了条件运算符的使用以及数组复制的功能。
摘要由CSDN通过智能技术生成

1,一个简单的程序输出

tqTFU0klhZ5w4WJ65KdLc2P9dF0LbRsbqi8BFOcG-wm

2,运行一个完整的程序:MyDate类

源代码:

package com.jiangfangyu.Demo;

public class MyDate {

private int day = 1;

private int month = 1;

private int year = 2000;

public MyDate(int d,int m,int y){

year =y;

month = m;

day = d;

}

public void display(){

System.out.println(year+"/"+month+"/"+day);

}

public static void main(String[] args) {

MyDate m = new MyDate(1,8,2013);

}

}

XCo3Q21HcQZkCd50ocb4ZJXHZg6fmrfdg2Zi24Ay-wm

3,Java运算

源代码:

package com.jiangfangyu.Demo;

public class Ex1_5 {

public static void main(String[] args) {

int a = 234;

int b;

boolean c;

b= 0;

c=(a==234)||(b++==1);

System.out.println("b="+b+" c="+c);

b=0;

c=(a==234)|(b++==1);

System.out.println("b="+b+" c="+c);

b=0;

c=(a!=234)||(b++==1);

System.out.println("b="+b+" c="+c);

b=0;

c=(a!=234)|(b++==1);

System.out.println("b="+b+" c="+c);

}

}

BnFP26RYs2dZzuLUlCX8t21p7d3AgCVuXQD9YVXm-wm

4,Java数组运算

源代码:

package com.jiangfangyu.Demo;

import java.util.Arrays;

public class Test {

public static void main(String[] args) {

int s[] = {1,2,3,4,5,6};

int d[] = {10,9,8,7,6,5,4,3,2,1};

System.arraycopy(s, 1, d, 3, 3);

System.out.println(Arrays.toString(s));

System.out.println(Arrays.toString(d));

}

}

EOyvhuMhkhlAEDQSDEc39rHhvlNrCSKXQ0vI4G1P-wm

1.编写MyDate.java 2.该有如下构造方法 2.1 无参数构造方法public MyDate(),以当前的系统时间构造MyDate对象 2.2 public MyDate(int year, int month, int day), 以指定的年月日构造MyDate对象 3.该有如下属性 3.1 private int year ;//年 3.2 private int month; //月 3.3 private int day; //日 4.该有如下方法 4.1 public String after(int day); //返回当前对象代表的日期之后day天的日期,比如当前对象是2008-8-8,调用after(5)以后,应该返回2008-8-13,格式可自定义 4.2 public String before(int day); //返回当前对象代表的日期之前day天的日期,比如当前对象是2008-8-8,调用before(5)以后,应该返回2008-8-3,格式可自定义 4.3 public void setYear(int year); //设置年为指定值year 4.4 public void setMonth(int month); //设置月为指定值month 4.5 public void setDay(int day); //设置日为指定值day 4.6 public int getYear(); //返回当前对象的年 4.7 public int getMonth(); //返回当前对象的月 4.8 public int getDay(); //返回当前对象的日 4.9 public void set (int year, int month, int day); //设置年、月、日为指定的值year、month、day 4.10 public String toString();//以字符串形式返回当前对象的年月日,例如2008年08月08日,格式可自定义 4.11 public boolean equals(MyDate mydate);//当前对象与另一个对象比较,如果两个对象的年月日均相等,则返回true,反之返回false 5.编写TestMyDate.java,在main方法中对MyDate的各个方法进行测试 6.按照编程规范为MyDate.java编写规范的代码 7.按照java doc API的要求,对代码编写规范的注释,然后利用javadoc.exe命令生成MyDate.java的API doc 8.撰写上机报告
好的,我了解了您的问题。让我来回答您的问题。 MyDate 是一个日期,它可以存储年、月、日的信息,并且能够对日期进行一些操作。下面是完善后的 MyDate 的代码示例: ```java public class MyDate { private int year; private int month; private int day; public MyDate(int year, int month, int day) { this.year = year; this.month = month; this.day = day; } public int getYear() { return year; } public int getMonth() { return month; } public int getDay() { return day; } public void setYear(int year) { this.year = year; } public void setMonth(int month) { this.month = month; } public void setDay(int day) { this.day = day; } public void setDate(int year, int month, int day) { this.year = year; this.month = month; this.day = day; } public String toString() { return String.format("%04d-%02d-%02d", year, month, day); } public boolean equals(Object obj) { if (obj instanceof MyDate) { MyDate date = (MyDate) obj; return year == date.year && month == date.month && day == date.day; } return false; } public int hashCode() { final int prime = 31; int result = 1; result = prime * result + day; result = prime * result + month; result = prime * result + year; return result; } public MyDate nextDay() { int nextDay = day + 1; int nextMonth = month; int nextYear = year; if (nextDay > getDaysInMonth(year, month)) { nextDay = 1; nextMonth++; if (nextMonth > 12) { nextMonth = 1; nextYear++; } } return new MyDate(nextYear, nextMonth, nextDay); } public MyDate nextMonth() { int nextMonth = month + 1; int nextYear = year; if (nextMonth > 12) { nextMonth = 1; nextYear++; } int maxDay = getDaysInMonth(nextYear, nextMonth); int nextDay = Math.min(day, maxDay); return new MyDate(nextYear, nextMonth, nextDay); } public MyDate nextYear() { int nextYear = year + 1; int maxDay = getDaysInMonth(nextYear, month); int nextDay = Math.min(day, maxDay); return new MyDate(nextYear, month, nextDay); } private int getDaysInMonth(int year, int month) { switch (month) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: return 31; case 4: case 6: case 9: case 11: return 30; case 2: if (isLeapYear(year)) { return 29; } else { return 28; } default: throw new IllegalArgumentException("Invalid month: " + month); } } private boolean isLeapYear(int year) { if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) { return true; } else { return false; } } } ``` 在这个中,我们实现了以下方法: - 构造方法 MyDate(int year, int month, int day):用于创建一个日期对象。 - getYear()、getMonth()、getDay():用于获取年、月、日。 - setYear()、setMonth()、setDay():用于设置年、月、日。 - setDate(int year, int month, int day):用于设置年、月、日。 - toString():用于以字符串形式返回当前日期。 - equals(Object obj):用于判断当前日期是否与另一个日期相等。 - hashCode():用于生成当前日期的哈希码。 - nextDay()、nextMonth()、nextYear():用于获取当前日期的下一天、下一个月、下一年。 - getDaysInMonth(int year, int month):用于获取指定年月的天数。 - isLeapYear(int year):用于判断指定年是否为闰年。 这些方法可以帮助我们对日期进行各种操作,比如获取下一天的日期、判断两个日期是否相等等等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值