设计一个cdate类java_Java语言程序设计

*定义方法:

修饰符   返回值类型   方法名(参数列表){

//方法体;

}

对于:public static int max(int num1,int num2){

...

}这个方法,public static作为修饰符,为静态修饰符;int为说明该方法的返回值是一个int型数据,这个方法包含两个int型形式参数。

主程序main()也是一种方法,它是由Java虚拟机进行调用的。

*可以看出Java中的方法几乎就等同于C语言中的函数,并且与C中在参数传递上也都是:传递的只是实参的值,而非实参本身。

*重载方法:Java中一个类里面可以有多个同名方法,但其各自的参数表不同;编译器会根据情况选择最匹配的方法。但多个方法匹配度相同时候会产生编译错误,称为歧义调用。

*变量的作用域

是指变量可在程序中引用的范围。方法中的变量称为局部变量。局部变量作用域是从其声明开始,到包含该变量声明的块结束。局部变量在使用之前要先进行声明。基于此,可以在一个方法的不同代码块里声明同名的局部变量。

*输入年份和月份,显示该月日历

importjava.util.Scanner;

publicclassC0501 {

publicstaticvoidmain(String[] args){

Scanner input=newScanner(System.in);

System.out.print("请输入年份:");

intyear=input.nextInt();

System.out.print("请输入月份:");

intmonth=input.nextInt();

intmonthDays=31;

if(month%2==0&&month!=8)

monthDays=30;

if(month==2)

monthDays=28;

if(leapYear(year)==1&&month==2)

monthDays=29;

intcountLeapYear=0;

for(inti=1800;i

if(leapYear(i)==1)

countLeapYear++;

}

intdateCount=(year-1800)*365+countLeapYear;

String ms1="Jan";

switch(month){

case2:dateCount+=31;ms1="Feb";break;

case3:dateCount+=59;ms1="Mar";break;

case4:dateCount+=90;ms1="Apr";break;

case5:dateCount+=120;ms1="May";break;

case6:dateCount+=151;ms1="June";break;

case7:dateCount+=181;ms1="July";break;

case8:dateCount+=212;ms1="Aug";break;

case9:dateCount+=243;ms1="Sep";break;

case10:dateCount+=273;ms1="Oct";break;

case11:dateCount+=304;ms1="Nov";break;

case12:dateCount+=334;ms1="Dec";break;

default:break;

}

if(month>1&&(leapYear(year)==1))

dateCount++;

intn=(dateCount%7+3)%7;

intpcount=0;

System.out.printf("             %s  %d             \n",ms1,year);

System.out.println("-----------------------------------");

System.out.println("  Sun  Mon  Tue  Wed  Thu  Fri  Sat");

for(inti=1;i<=n;i++){

System.out.print("     ");

pcount++;

}

for(inti=0;i

if(pcount%7==0)

System.out.printf("\n");

System.out.printf("%5d",i+1);

pcount++;

}

}

publicstaticintleapYear(intn){

if(n%4==0&&(n%100!=0))

return1;

elseif(n%400==0)

return1;

else

return0;

}

}

编程练习:

5.26,显示前100个回文素数

publicclassC05T26 {

publicstaticvoidmain(String[] args){

intcounter=0;

inti=2;

while(counter<100){

if(judgeHuiwen(i)&&judgePrime(i)){

counter++;

System.out.printf("%8d",i);

if(counter%10==0)

System.out.printf("\n");

}

i++;

}

}

publicstaticbooleanjudgeHuiwen(intn){

intk=n;

intrNum=0,remain;

while(k!=0){

remain=k%10;

rNum=rNum*10+remain;

k=k/10;

}

if(rNum==n)

returntrue;

else

returnfalse;

}

publicstaticbooleanjudgePrime(intn){

inti;

if(n==0||n==1)

returnfalse;

for(i=2;i<=n;i++){

if(n%i==0)

break;

}

if(i==n)

returntrue;

else

returnfalse;

}

}

5.33调用System.currentTimeMillis()显示当前日期和时间。

importjavax.swing.JOptionPane;

publicclassC05T33 {

publicstaticvoidmain(String[] args){

longtotalms=System.currentTimeMillis();

longyear=cYear(totalms);

String month=cMonth(totalms);

longdate=cDate(totalms);

longhour=cHour(totalms);

longmin=cMin(totalms);

longsec=cSec(totalms);

JOptionPane.showMessageDialog(null,"Current date and"+

" time is "+month+" "+date+", "+year+" "+

hour+":"+min+":"+sec);

}

publicstaticlongcYear(longn){

longx=0;

longdays=n/1000/3600/24;

longi=1969;

while(days>=x){

if(leapYear(i))

x+=366;

else

x+=365;

i++;

}

returni;

}

publicstaticString cMonth(longn){

longdays=n/1000/3600/24;

longi;

for(i=1970;i

days=days-365;

if(leapYear(i))

days--;

}

String x="";

if(leapYear(cYear(n))){

if(days<=31)

x="Jan";

if(days<=60&&days>31)

x="Feb";

if(days<=91&&days>60)

x="Mar";

if(days<=121&&days>91)

x="Apr";

if(days<=152&&days>121)

x="May";

if(days<=182&&days>152)

x="Jun";

if(days<=213&&days>182)

x="Jul";

if(days<=244&&days>213)

x="Aug";

if(days<=274&&days>244)

x="Sep";

if(days<=304&&days>274)

x="Oct";

if(days<=335&&days>304)

x="Nov";

if(days<=366&&days>335)

x="Dec";

}

else{

if(days<=31)

x="Jan";

if(days<=59&&days>31)

x="Feb";

if(days<=90&&days>59)

x="Mar";

if(days<=120&&days>90)

x="Apr";

if(days<=151&&days>120)

x="May";

if(days<=181&&days>151)

x="Jun";

if(days<=212&&days>181)

x="Jul";

if(days<=243&&days>212)

x="Aug";

if(days<=273&&days>243)

x="Sep";

if(days<=303&&days>273)

x="Oct";

if(days<=334&&days>303)

x="Nov";

if(days<=365&&days>334)

x="Dec";

}

returnx;

}

publicstaticlongcDate(longn){

longdays=n/1000/3600/24;

longi,x=0;

for(i=1970;i

days=days-365;

if(leapYear(i))

days--;

}

if(leapYear(cYear(n))){

if(days<=31)

x=31-days;

if(days<=60&&days>31)

x=60-days;

if(days<=91&&days>60)

x=91-days;

if(days<=121&&days>91)

x=121-days;

if(days<=152&&days>121)

x=152-days;

if(days<=182&&days>152)

x=182-days;

if(days<=213&&days>182)

x=213-days;

if(days<=244&&days>213)

x=244-days;

if(days<=274&&days>244)

x=274-days;

if(days<=304&&days>274)

x=304-days;

if(days<=335&&days>304)

x=335-days;

if(days<=366&&days>335)

x=366-days;

}

else{

if(days<=31)

x=31-days;

if(days<=59&&days>31)

x=59-days;

if(days<=90&&days>59)

x=90-days;

if(days<=120&&days>90)

x=120-days;

if(days<=151&&days>120)

x=151-days;

if(days<=181&&days>151)

x=181-days;

if(days<=212&&days>181)

x=212-days;

if(days<=243&&days>212)

x=243-days;

if(days<=273&&days>243)

x=273-days;

if(days<=303&&days>273)

x=303-days;

if(days<=334&&days>303)

x=334-days;

if(days<=365&&days>334)

x=365-days;

}

returnx;

}

publicstaticlongcHour(longn){

longhours=(n/1000/3600+8)%24;

returnhours;

}

publicstaticlongcMin(longn){

longhours=n/1000/60%60;

returnhours;

}

publicstaticlongcSec(longn){

longhours=n/1000%60;

returnhours;

}

publicstaticbooleanleapYear(longn){

if(n%4==0&&(n%100!=0))

returntrue;

elseif(n%400==0)

returntrue;

else

returnfalse;

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值