
2,3,4,5分别设计一个方法
object Calendar {
def main(args: Array[String]): Unit = {
print("请输入年份\n")
val year = StdIn.readInt()
println("请输入月份")
val month = StdIn.readInt()
var isLeap = isLeapYear(year)
val days = getAllDay(year, month)
var week = (days+1)%7
println(week)
val monthDays = getMonthDay(month, isLeap)
println(monthDays)
println("星期日\t星期一\t星期二\t星期三\t星期四\t星期五\t星期六\n")
var t = 1
for(i<-0.until(week.toInt))
print("\t\t")
while (t<=monthDays){
print(s"$t\t\t")
if(week%7==6)
println()
week+=1
t+=1
}
}
def isLeapYear(year:Int)={
year%4==0&&year%100!=0
}
var getMonthDay : (Int,Boolean)=>Int=(month,isLeap)=>{
if(month==2) {
if(isLeap)
29
else 28
} else if(month==1||month==3||month==5||month==7||month==8||month==10||month==12)
31
else if(month==4||month==6||month==9||month==11)
30
else -1
}
def getAllDay(year:Int,month:Int):Long={
var days:Long = 0;
for(i<-1900.until(year)){
if(isLeapYear(i)){
days+=366
}else days+=365
}
val bool = isLeapYear(year)
for (i<-1.until(month)){
days+=getMonthDay(i,bool)
}
days
}
}