输出的时候出现了问题,请各位帮忙看一下
题:输入年份以及月份,大于1900时打印出该年该月份的日历
思路:求1900年到输入年份之间的累计天数以及1月到输入月份之间的累计天数。得到1900-1-1到输入年月之前所有天数,用总天数对7求余,对余数加1,该数值即为该月1号的星期。判断输入月份有多少天,打印日历。
以下是代码:
import java.util.Scanner;
public class Calendar{
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
int year=sc.nextInt();
int month=sc.nextInt();
int r=0;
int sum=0;
if(year<1900){
System.out.println("请输入大于或等于1900的年份");
}else{
System.out.println("==================================================");
System.out.println("日\t一\t二\t三\t四\t五\t六");
for(int i=1900;iif((i%4==0&&i%100!=0)||i%400==0){
sum+=366;
}
else{sum+=365;}
}
for(int i=1;i<=month;i++){
switch(i){
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
r=31;
break;
case 4:
case 6:
case 9:
case 11:
r=30;
break;
case 2:
if ((year%4==0&&year%100!=0)||year%400==0){
r=29;}
else{
r=28;}
break;
}
if(iprintln(sum);
int count=(sum+1)%7;
System.out.println(count);
for(int i=1;i<=count;i++)
System.out.print("\t");
for(int i=1;i<=r;i++){
System.out.printf("%d\t",i);
if((i+count)%7==0)
System.out.println();
}
System.out.println();
System.out.println("=================================================");
}
}
}
输出情况:
System.out.println(sum);
System.out.println(count);
这个去掉啊
去掉中间的输出语句。
import java.util.Scanner;
public class Calendar{
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
int year=sc.nextInt();
int month=sc.nextInt();
int r=0;
int sum=0;
if(year<1900){
System.out.println("请输入大于或等于1900的年份");
}else{
System.out.println("==================================================");
System.out.println("日\t一\t二\t三\t四\t五\t六");
for(int i=1900;i<year;i++){
if((i%4==0&&i%100!=0)||i%400==0){
sum+=366;
}
else{sum+=365;}
}
for(int i=1;i<=month;i++){
switch(i){
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
r=31;
break;
case 4:
case 6:
case 9:
case 11:
r=30;
break;
case 2:
if ((year%4==0&&year%100!=0)||year%400==0){
r=29;}
else{
r=28;}
break;
}
if(i<month)
sum+=r;
}
for(int i=1;i<=r;i++){
System.out.printf("%d\t",i);
if((i+count)%7==0)
System.out.println();
}
System.out.println();
System.out.println("=================================================");
}
}
}
基于最新版ChatGPT4的回答,望采纳!!!有其他问题也可以询问我哦、”(最新版更智能,功能更加强大)
这是修改后的代码
import java.util.Scanner;
public class Calendar {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int year = sc.nextInt();
int month = sc.nextInt();
int r = 0;
int sum = 0;
if (year < 1900) {
System.out.println("请输入大于或等于1900的年份");
} else {
System.out.println("==================================================");
System.out.println("日\t一\t二\t三\t四\t五\t六");
for (int i = 1900; i < year; i++) {
if ((i % 4 == 0 && i % 100 != 0) || i % 400 == 0) {
sum += 366;
} else {
sum += 365;
}
}
for (int i = 1; i < month; i++) {
switch (i) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
sum += 31;
break;
case 4:
case 6:
case 9:
case 11:
sum += 30;
break;
case 2:
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
sum += 29;
} else {
sum += 28;
}
break;
}
}
int count = sum % 7;
System.out.println(count);
for (int i = 1; i <= count; i++)
System.out.print("\t");
r = (month == 2 && ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)) ? 29 : (month == 2 ? 28 : (month == 4 || month == 6 || month == 9 || month == 11 ? 30 : 31));
for (int i = 1; i <= r; i++) {
System.out.printf("%d\t", i);
if ((i + count) % 7 == 0)
System.out.println();
}
System.out.println();
System.out.println("=================================================");
}
}
}
// Logger对象父子关系
@Test
public void testLogParent()throws Exception{
Logger logger1 = Logger.getLogger("com.controller.JULTest");
Logger logger2 = Logger.getLogger("com.controller");
// 测试
System.out.println(logger1.getParent() == logger2);
// 所有日志记录器的顶级父元素 LogManager$RootLogger,name 为 ""
System.out.println("logger2 Parent:"+logger2.getParent() + ",name:" + logger2.getParent().getName());
// 关闭默认配置
logger2.setUseParentHandlers(false);
// 设置logger2日志级别
// 自定义配置日志级别
// 创建ConsolHhandler 控制台输出
ConsoleHandler consoleHandler = new ConsoleHandler();
// 创建简单格式转换对象
SimpleFormatter simpleFormatter = new SimpleFormatter();
// 进行关联
consoleHandler.setFormatter(simpleFormatter);
logger2.addHandler(consoleHandler);
// 配置日志具体级别
logger2.setLevel(Level.ALL);
consoleHandler.setLevel(Level.ALL);
logger1.severe("severe");
logger1.warning("warning");
logger1.info("info");
logger1.config("config");
logger1.fine("fine");
logger1.finer("finer");
logger1.finest("finest");
}