...基本功能:输入一个月份,给出2013年这个月的日历,日历要求每行显示7...
发布网友
发布时间:2024-10-02 16:29
我来回答
共1个回答
热心网友
时间:2024-10-09 06:14
package com.practice;
import java.util.Scanner;
public class Resource {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.print("输入2013年的一个月份");
int num = in.nextInt();
int day = 0; // 当月天数
int count = 0; // 记录循环次数
switch (num) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
day = 31;
break;
case 2:
day = 28;
break;
case 4:
case 6:
case 9:
case 11:
day = 30;
break;
}
// 循环输出这个月每行输入7次
for (int i = 1; i <= day; i++) {
count++;
System.out.print(count + "\t");
if (count % 7 == 0) {
//次数为7的倍数 换行
System.out.println(" ");
}
}
}
}
//扩展功能最后一行的天数不能分开输出~~~~~~~
package com.practice;
import java.util.Scanner;
public class Go1 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.print("输入2013年的一个月份");
int num = in.nextInt();
// 这个月
int day = 0; // 这个月天数
int count = 0; // 这个月循环次数
// 月份对应天数
switch (num) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
day = 31;
break;
case 2:
day = 28;
break;
case 4:
case 6:
case 9:
case 11:
day = 30;
break;
}
// 下一个月
int num1 = num + 1;
int day1 = 0; // 对应天数
int count1 = 0; // 循环次数
// 获得天数
if (num1 <= 12) {
switch (num1) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
day1 = 31;
break;
case 2:
day1 = 28;
break;
case 4:
case 6:
case 9:
case 11:
day1 = 30;
break;
}
}
// 外层循环输出第这个月
for (int i = 1; i <= day; i++) {
count++;
System.out.print(count + "\t");
if (count % 7 == 0 || count == day) {
// 该换行的时候输出下个月日历
for (int j = 1; j <= day1; j++) {
count1++;
if (count1 > day1) {
break;
}
System.out.print(count1 + "\t");
if (count1 % 7 == 0) {
// 输入次数为7的倍数 就换行
System.out.println(" ");
break;
}
}
}
}
}
}