用java设计一个2016年7月的日历
答案:1 悬赏:80 手机版
解决时间 2021-03-01 01:24
- 提问者网友:动次大次蹦擦擦
- 2021-02-28 15:37
用java设计一个2016年7月的日历
最佳答案
- 五星知识达人网友:逃夭
- 2021-02-28 15:58
你的Java日历程序我帮你改好了,你看看吧.(改动的地方见注释)
import java.util.*;
public class JavaApplication17{
public static void main(String[] args) {
ClendarBean cb = new ClendarBean();
cb.setMonth(2016);
cb.setMonth(11);
String a[] = cb.getCalendar();
char str[] ="日一二三四五六".toCharArray();
for(char c:str){
System.out.printf("%7c",c);//这里改一下"%3c"改成"%7c"
}
System.out.println();//这里加一句换行
for(int i=0;i System.out.printf("%3s",a[i]);//这里"%3c"改成"%3s"并移到这里
if((i+1)%7==0){//这里i%7==0改成(i+1)%7==0
System.out.println();
}
}
}
}
class ClendarBean{
int year = 0;
int month = 0;
public void setYear(int year){
this.year = year;
}
public void setMonth(int month){
this.month = month;
}
public String [] getCalendar(){
String a[] = new String[45];
Calendar calendar = Calendar.getInstance();
calendar.set(year,month-1,1);
int weekDay = calendar.get(Calendar.DAY_OF_WEEK)-1;
int day = 0;
if(month==1 || month==3 || month==5 || month==7 || month==8 || month==10 || month==12){
day = 31;
}
if(month==4 || month==6 || month== 9 || month==11){
day = 30;
}
if(month==2){
if(year%4==0&year%100 !=0 || year%400==0){
day = 29;
}
else day = 28;
}
for(int i=0;i a[i] ="";
}
for(int i=weekDay+1,n=1;i a[i] = String.valueOf(n);
n++;
}
for(int i=weekDay+day+1;i a[i] = "";
}
return a;
}
}运行结果
追问为什么weekDay+day要加一啊追答因为weekDay是从0开始的,ClendarBean类getCalendar函数第一个for-i循环,从0到weekDay-1(因为i 以11月为例,weekDay=1,原来的循环从0到i
import java.util.*;
public class JavaApplication17{
public static void main(String[] args) {
ClendarBean cb = new ClendarBean();
cb.setMonth(2016);
cb.setMonth(11);
String a[] = cb.getCalendar();
char str[] ="日一二三四五六".toCharArray();
for(char c:str){
System.out.printf("%7c",c);//这里改一下"%3c"改成"%7c"
}
System.out.println();//这里加一句换行
for(int i=0;i System.out.printf("%3s",a[i]);//这里"%3c"改成"%3s"并移到这里
if((i+1)%7==0){//这里i%7==0改成(i+1)%7==0
System.out.println();
}
}
}
}
class ClendarBean{
int year = 0;
int month = 0;
public void setYear(int year){
this.year = year;
}
public void setMonth(int month){
this.month = month;
}
public String [] getCalendar(){
String a[] = new String[45];
Calendar calendar = Calendar.getInstance();
calendar.set(year,month-1,1);
int weekDay = calendar.get(Calendar.DAY_OF_WEEK)-1;
int day = 0;
if(month==1 || month==3 || month==5 || month==7 || month==8 || month==10 || month==12){
day = 31;
}
if(month==4 || month==6 || month== 9 || month==11){
day = 30;
}
if(month==2){
if(year%4==0&year%100 !=0 || year%400==0){
day = 29;
}
else day = 28;
}
for(int i=0;i
}
for(int i=weekDay+1,n=1;i
n++;
}
for(int i=weekDay+day+1;i a[i] = "";
}
return a;
}
}运行结果
追问为什么weekDay+day要加一啊追答因为weekDay是从0开始的,ClendarBean类getCalendar函数第一个for-i循环,从0到weekDay-1(因为i
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯