import java.util.*;public class CalendarTest{
public static void main(String[] args){
GregorianCalendar d = new GregorianCalendar();
int today = d.get(Calendar.DAY_OF_MONTH);
int month = d.get(Calendar.MONTH);
d.set(Calendar.DAY_OF_MONTH,1);
int weekday = d.get(Calendar.DAY_OF_MONTH);
System.out.println("Sun Mon Tue Wed Thu Fri Sat");
for(int i = Calendar.SUNDAY; i < weekday; i++)
System.out.print(" ");
do{
int day = d.get(Calendar.DAY_OF_MONTH);
System.out.printf("%3d",day);
if(day == today)
System.out.println("*");
else
System.out.println(" ");
if(weekday == Calendar.SATURDAY)
System.out.println();
d.add(Calendar.DAY_OF_MONTH,1);
weekday = d.get(Calendar.DAY_OF_MONTH);
}while (d.get(Calendar.MONTH) == month);
if(weekday != Calendar.SUNDAY)
System.out.println();
}
}我想输出 类似这样的
Sun Mon Tue Wed Thu Fri Sat
1 2 3 ..但是这段代码是一竖列呀-。- 求解哪里不对!
public static void main(String[] args){
GregorianCalendar d = new GregorianCalendar();
int today = d.get(Calendar.DAY_OF_MONTH);
int month = d.get(Calendar.MONTH);
d.set(Calendar.DAY_OF_MONTH,1);
int weekday = d.get(Calendar.DAY_OF_MONTH);
System.out.println("Sun Mon Tue Wed Thu Fri Sat");
for(int i = Calendar.SUNDAY; i < weekday; i++)
System.out.print(" ");
do{
int day = d.get(Calendar.DAY_OF_MONTH);
System.out.printf("%3d",day);
if(day == today)
System.out.println("*");
else
System.out.println(" ");
if(weekday == Calendar.SATURDAY)
System.out.println();
d.add(Calendar.DAY_OF_MONTH,1);
weekday = d.get(Calendar.DAY_OF_MONTH);
}while (d.get(Calendar.MONTH) == month);
if(weekday != Calendar.SUNDAY)
System.out.println();
}
}我想输出 类似这样的
Sun Mon Tue Wed Thu Fri Sat
1 2 3 ..但是这段代码是一竖列呀-。- 求解哪里不对!
解决方案 »
- 求一小段代码 把整个文件读取 转换成一行行读取的 非常感谢
- 取代new sun.misc.BASE64Encoder().encode的新的API是什么?TKS
- java中的\'转义字符
- Process.waitFor()方法的问题,代码如下
- 请问JAVA能写病毒吗
- socket问题!----定时器中用socket发指令的问题
- 居然出现2月30日
- java
- 将java数组中的数据绘制成曲线,应该用怎样的算法?请求帮助.
- 强烈抗议微软阻击Java , 强烈投诉,微软这小子老是阳痿
- sql问题::::gruop by 如何使用?
- 谁知道toptrack.tools.JQueryBase属于那个包,求下载
第一 是当天的加×号,但是不应该换行
第二 应该是 int weekday = d.get(Calendar.DAY_OF_WEEK); 此处有俩地方
即一周当中的天数 而不是一月中的天数
把这两个改好了就好了public static void main(String[] args) {
GregorianCalendar d = new GregorianCalendar(); int today = d.get(Calendar.DAY_OF_MONTH);
int month = d.get(Calendar.MONTH);
d.set(Calendar.DAY_OF_MONTH, 1); int weekday = d.get(Calendar.DAY_OF_WEEK); System.out.println("Sun Mon Tue Wed Thu Fri Sat"); for (int i = Calendar.SUNDAY; i < weekday; i++)
System.out.print(" ");
do {
int day = d.get(Calendar.DAY_OF_MONTH);
System.out.printf("%3d", day); if (day == today)
System.out.print("*");
else
System.out.print(" "); if (weekday == Calendar.SATURDAY)
System.out.println();
d.add(Calendar.DAY_OF_MONTH, 1);
weekday = d.get(Calendar.DAY_OF_WEEK);
} while (d.get(Calendar.MONTH) == month); if (weekday != Calendar.SUNDAY)
System.out.println();
}
import java.util.*;public class CalendarTest{
public static void main(String[] args){
GregorianCalendar d = new GregorianCalendar();
int today = d.get(Calendar.DAY_OF_MONTH);
int month = d.get(Calendar.MONTH);
d.set(Calendar.DAY_OF_MONTH,1);
int weekday = d.get(Calendar.DAY_OF_MONTH);
System.out.println(" Sun Mon Tue Wed Thu Fri Sat");
int i=0;
while(i<8){
i++;
if(d.get(Calendar.DAY_OF_WEEK)==i){
int s=4*i;
System.out.printf("%"+s+"d", d.get(Calendar.DAY_OF_MONTH));
break;
}
}
d.set(Calendar.DAY_OF_MONTH,2);
do{
int day = d.get(Calendar.DAY_OF_MONTH);
System.out.printf("%3d",day);
if(day == today)
System.out.print("*");
else
System.out.print(" ");
if(d.get(Calendar.DAY_OF_WEEK)==7)
System.out.println();
d.add(Calendar.DAY_OF_MONTH,1);
}while (d.get(Calendar.MONTH) == month);
if(weekday != Calendar.SUNDAY)
System.out.println();
}
}
public class Calendar { /**
* @param args
*/
public static void main(String[] args) {
Scanner input= new Scanner(System.in);
System.out.println("********日历查询********");
System.out.println("请输入年份:");
int Y=input.nextInt();
System.out.println("请输入月份:");
int M=input.nextInt();
int day=0;//变量用来统计到现在日期相差的天数
System.out.println("您要查询的日期为:"+Y+"年-"+M+"月");
for(int i=0000;i<Y;i++){
//闰年或非闰年
if(Y%4==0&&Y%100!=0||Y%400==0){
day+=366;
}else{
day+=365;
}
}
for(int i=1;i<M;i++){
switch(i){
//月大31天
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
day+=31;
break;
//月小 30天
case 4:
case 6:
case 9:
case 11:
day+=30;
break;
//月平 29天
case 2:
if(Y%4==0&&Y%100!=0||Y%400==0){
day+=29;
}else{
day+=28;
}
break;
}
}
int wDay=(day+1)%7;//对应星期天
System.out.println("----------------------------------------------------------------");
//查询输出
System.out.println("星期日\t星期一\t星期二\t星期三\t星期四\t星期五\t星期六\t");
int mday=7-wDay;
int count=0;
//输出空格数
for(int i=0;i<wDay;i++){
System.out.print("\t");
}
switch(M){
//月大31天
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
for(int i=1;i<32;i++){
if(i<=mday){
for(int j=0;j<mday;j++){//判断第一行
System.out.print(i+"\t");
if(i==mday){
System.out.println();
}
break;
}
}else{
System.out.print(i+"\t");
count++;
if(count%7==0){
System.out.println();
}
}
}
break;
//月小 30天
case 4:
case 6:
case 9:
case 11:
for(int i=1;i<32;i++){
if(i<=mday){
for(int j=0;j<mday;j++){//判断第一行
System.out.print(i+"\t");
if(i==mday){
System.out.println();
}
break;
}
}else{
System.out.print(i+"\t");
count++;
if(count%7==0){
System.out.println();
}
}
}
break;
//月平 29天
case 2:
if(Y%4==0&&Y%100!=0||Y%400==0){
for(int i=1;i<32;i++){
if(i<=mday){
for(int j=0;j<mday;j++){//判断第一行
System.out.print(i+"\t");
if(i==mday){
System.out.println();
}
break;
}
}else{
System.out.print(i+"\t");
count++;
if(count%7==0){
System.out.println();
}
}
}
}else{
for(int i=1;i<32;i++){
if(i<=mday){
for(int j=0;j<mday;j++){//判断第一行
System.out.print(i+"\t");
if(i==mday){
System.out.println();
}
break;
}
}else{
System.out.print(i+"\t");
count++;
if(count%7==0){
System.out.println();
}
}
}
break;
} }
}
}