java代码问题,求大神帮忙解答。

/*本来想要显示这样的效果,截图

我检查了好多遍,不知道哪里出错了,我是照着老师讲解的做的,依葫芦画瓢,错误的截图是:

求大神帮忙看看代码,谢谢!~
代码见下:*/

import java.util.Scanner;
public class zuoye12{
public static void main(String[] args){
Scanner in=new Scanner(System.in);
System.out.println("请输入年份");
int year=in.nextInt();
System.out.println("请输入月份");
int month=in.nextInt();
int sum=0;
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++){
if(i==2){
if(year%4==0&&year%100!=0||year%400==0){
sum+=29;
}else{
sum+=28;
}
}else{
if(i==4||i==6||i==9||i==11){
sum+=30;
}else{
sum+=31;
}
}
}
sum+=1;
int wekday=sum%7;
System.out.println("日\t一\t二\t三\t四\t五\t六");
for(int i=1;i<=wekday;i++){
System.out.println("\t");
}
for(int i=1;i<=30;i++){
if(sum%7==6){
System.out.println(i+"\n");
}else{
System.out.println(i+"\t");
}
sum++;
}
}
}
System.out.println("日	一敬搏	二基拦	三	四	五	六");
for(int i=1;i<=wekday;i++){
System.out.print(" ");
}
for(int i=1;i<=30;i++){
if(sum%7==6){
System.out.print(i+" ");
}else{
System.out.print(i+" ");
}

1楼说的没错,这部分的不需要换行打印搏稿胡。


System.out.println();是换行输升戚出,已吵尺陵经包括换行了,应该困租用System.out.print()