java吧 关注:1,249,463贴子:12,731,593
  • 3回复贴,共1

反正找不出错误!哎!

只看楼主收藏回复

package 日历;
import java.util.Scanner;
public class 日历002 {
int sum=0;
int data=0;
int weeked=0;
String msg="一\t二\t三\t四\t五\t六\t七";
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("请输入年份!");
int year=sc.nextInt();
System.out.println("请输入月份!");
int months=sc.nextInt();
日历002 a=new 日历002();
a.printData(year, months);
sc.close();
}
public void printData(int year,int months){
if(months==2){
if(this.function(year)){
data=29;
}else{
data=28;
}
}else if(months==4||months==6||months==9||months==11){
data=30;
}else{
data=31;
}
weeked=this.sumGet(year, months)%7;
if(weeked==0){
weeked=7;
}
System.out.println(msg);
for(int i=1;i<weeked;i++){
System.out.print("\t");
}
int sum=this.sumGet(year, months);
for(int i=1;i<=data;i++){
if(sum%7==0){
System.out.print(i+"\n");
}else{
System.out.print(i+"\t");
}
sum++;
}
}
public boolean function(int year){
if(year%4==0&&year%100!=0||year%400==0){
return true;
}
return false;
}
public int sumGet(int year,int months){//集合
for(int i=1900;i<year;i++){
if(this.function(i)){
sum+=366;
}else{
sum+=365;
}
}
for(int i=1;i<months;i++){
if(i==2){
if(this.function(year)){
sum+=29;
}else{
sum+=28;
}
}else if(i==4||i==6||i==9||i==11){
sum+=30;
}else{
sum+=31;
}
}
sum=sum+1;
return this.sum;
}
}


IP属地:江苏1楼2018-11-14 07:56回复
    看着像是打印区域出错,但是没错啊。
    把日历换一种书写方式,就错了。


    IP属地:江苏2楼2018-11-14 07:58
    回复
      package test;
      import java.util.Scanner;
      public class Rili {
      int sum=0;
      int data=0;
      int weeked=0;
      int wek=0;
      String msg="一\t二\t三\t四\t五\t六\t七";
      public static void main(String[] args) {
      Scanner sc=new Scanner(System.in);
      System.out.println("请输入年份!");
      int year=sc.nextInt();
      System.out.println("请输入月份!");
      int months=sc.nextInt();
      Rili a=new Rili();
      a.printData(year, months);
      sc.close();
      }
      public void printData(int year,int months){
      if(months==2){
      if(this.function(year)){
      data=29;
      }else{
      data=28;
      }
      }else if(months==4||months==6||months==9||months==11){
      data=30;
      }else{
      data=31;
      }
      weeked=this.sumGet(year, months)%7;
      if(weeked==0){
      weeked=7;
      }
      System.out.println(msg);
      for(int i=1;i<weeked;i++){
      System.out.print("\t");
      }
      for(int i=1;i<=data;i++){
      if(i<(7-weeked+1)){
      System.out.print(i+"\t");
      }else if(i==(7-weeked+1)){
      System.out.print(i+"\n");
      wek++;
      }else{
      if(wek%7==0){
      System.out.print(i+"\n");
      }else{
      System.out.print(i+"\t");
      }
      wek++;
      }
      }
      }
      public boolean function(int year){
      if(year%4==0&&year%100!=0||year%400==0){
      return true;
      }
      return false;
      }
      public int sumGet(int year,int months){//集合
      for(int i=1900;i<year;i++){
      if(this.function(i)){
      sum+=366;
      }else{
      sum+=365;
      }
      }
      for(int i=1;i<months;i++){
      if(i==2){
      if(this.function(year)){
      sum+=29;
      }else{
      sum+=28;
      }
      }else if(i==4||i==6||i==9||i==11){
      sum+=30;
      }else{
      sum+=31;
      }
      }
      sum=sum+1;
      return this.sum;
      }
      }


      IP属地:上海3楼2018-11-16 14:44
      回复
        666666


        IP属地:天津来自Android客户端4楼2018-11-29 09:25
        回复