日期:2014-05-20  浏览次数:20834 次

谁写过手机上的日历显示,有的话可否发一下代码
能不能显示一个月的所有天数和星期几     如:
星期一         星期二         星期三         星期四             星期五         星期六           星期日
        1                   2                   3                   4                     5                   6                   7
        8                   9                   10                 11                   12                 13                 14


------解决方案--------------------
import javax.swing.*;

class Year{
boolean leap;
int n;
int year;
Year(int year)
{
this.year=year;
}
boolean isleap()
{
if (year%4==0 && year%100!=0 || year%400==0)
leap=true;
else
leap=false;
return leap;
}
int weekday()
{
n=year-1900;
n=n+(n-1)/4+1;
n=n%7;
return n;
}

}
public class test
{
static int month,len;
public static void main(String[] args)
{
String s=JOptionPane.showInputDialog( "请输入年份 ");
int a=Integer.parseInt(s);
Year year=new Year(a);
int n=year.weekday();
System.out.println( "输入的年份是: "+a);
for(int month=1;month <=12;month++)
{
if(month==4 || month==6 || month==9 || month==11)
len=30;
else
{
if(month==2)
{
if(year.isleap())
len=29;
else
len=28;
}
else
len=31;
}
System.out.println(month);
System.out.println( "---------------------------- ");
System.out.println( " SUN MON TUE WED THU FRI SAT ");
System.out.println( "---------------------------- ");

for(int i=0;i <n;i++)
{
//System.out.println( "n= "+n);
System.out.print( " ");
System.out.print( " ");
System.out.print( " ");
System.out.print( " ");

}
for(int day=1;day <=len;day++)
{
System.out.print( " ");
System.out.print( " ");
System.out.printf( "%02d ",day);

n++;

if(n==7)
{
n=0;
System.out.println( " ");
}
}
System.out.println( " ");
System.out.println( "---------------------------- ");

}
System.exit(0);
}
}

看看这个行不,写得还不完美,需要修改
现在只能输入从2000到2999之间的年数
能就给分吧,呵呵
------解决方案--------------------
我一般都是用的DateField,因为这个构件在进行设置时会调用系统的日历以供选择日期,顺便就当日历看了.呵呵.不过这个似乎不适合你的要求啊.呵呵.