定义一个日期类Date,内有数据成员年、月、日,另有成员函数:构造函数用于初始化数据成员,输出,闰年的判断。编写主函数:创建日期对象,计算并输出该日是该年的第几天。
时间: 2023-04-09 19:04:32 浏览: 126
好的,以下是代码:
```lua
-- 定义日期类
Date = {}
Date.__index = Date
-- 构造函数
function Date:new(year, month, day)
local date = {}
setmetatable(date, Date)
date.year = year
date.month = month
date.day = day
return date
end
-- 输出日期
function Date:print()
print(self.year .. "年" .. self.month .. "月" .. self.day .. "日")
end
-- 判断是否为闰年
function Date:isLeapYear()
if self.year % 4 == 0 and self.year % 100 ~= 0 or self.year % 400 == 0 then
return true
else
return false
end
end
-- 计算该日是该年的第几天
function Date:dayOfYear()
local days = {31,28,31,30,31,30,31,31,30,31,30,31}
if self:isLeapYear() then
days[2] = 29
end
local sum = 0
for i = 1, self.month - 1 do
sum = sum + days[i]
end
sum = sum + self.day
return sum
end
-- 创建日期对象
local date = Date:new(2022, 1, 1)
-- 输出日期
date:print()
-- 计算并输出该日是该年的第几天
print("该日是该年的第" .. date:dayOfYear() .. "天")
```
希望能够帮到您!
相关推荐
![text/x-c](https://img-home.csdnimg.cn/images/20210720083646.png)
![text/x-c](https://img-home.csdnimg.cn/images/20210720083646.png)
![text/x-c++](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)