您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 资本运营 > java经典的小程序详尽代码
1,编写程序,判断给定的某个年份是否是闰年。闰年的判断规则如下:(1)若某个年份能被4整除但不能被100整除,则是闰年。(2)若某个年份能被400整除,则也是闰年。importjava.util.Scanner;classBissextile{publicstaticvoidmain(String[]arge){System.out.print(请输入年份);intyear;//定义输入的年份名字为“year”Scannerscanner=newScanner(System.in);year=scanner.nextInt();if(year0||year3000){System.out.println(年份有误,程序退出!);System.exit(0);}if((year%4==0)&&(year%100!=0)||(year%400==0))System.out.println(year+isbissextile);elseSystem.out.println(year+isnotbissextile);}}2,给定一个百分制的分数,输出相应的等级。90分以上A级80~89B级70~79C级60~69D级60分以下E级importjava.util.Scanner;classMark{publicstaticvoidmain(String[]args){System.out.println(请输入一个分数);//定义输入的分数为“mark”,且分数会有小数doublemark;Scannerscanner=newScanner(System.in);mark=scanner.nextDouble();//判断是否有输入错误。if(mark0||mark100){System.out.println(输入有误!);System.exit(0);}/*判断分数的等级90分以上者A级,80~89分者B级,70~79分者C级,60~69者D级,60分以下E级*/if(mark=90)System.out.println(thismarkisgrade\'A\');elseif(mark=80)System.out.println(thismarkisgrade\'B\');elseif(mark=70)System.out.println(thismarkisgrade\'C\');elseif(mark=60)System.out.println(thismarkisgrade\'D\');elseSystem.out.println(thismarkisgrade\'E\');}}3,编写程序求1+3+5+7+……+99的和值。classhe{publicstaticvoidmain(String[]args){intnumber=1;//初始值1,以后再+2递增上去intsum=0;for(;number100;number+=2){sum+=number;}System.out.println(1+3+5+7+……+99=+sum);}}4、利用for循环打印9*9表?1*1=11*2=22*2=41*3=32*3=63*3=91*4=42*4=83*4=124*4=161*5=52*5=103*5=154*5=205*5=251*6=62*6=123*6=184*6=245*6=306*6=361*7=72*7=143*7=214*7=285*7=356*7=427*7=491*8=82*8=163*8=244*8=325*8=406*8=487*8=568*8=641*9=92*9=183*9=274*9=365*9=456*9=547*9=638*9=729*9=81//循环嵌套,打印九九乘法表publicclassNineNine{publicstaticvoidmain(String[]args){System.out.println();for(intj=1;j10;j++){for(intk=1;k10;k++){//老师的做法,判断语句里的k=j,省去下列的if语句。if(kj)break;//此处用continue也可以,只是效率低一点System.out.print(+k+X+j+=+j*k);}System.out.println();}}}6、输出所有的水仙花数,把谓水仙花数是指一个数3位数,其各各位数字立方和等于其本身,例如:153=1*1*1+3*3*3+5*5*5classDafodilNumber{publicstaticvoidmain(String[]args){System.out.println(以下是所有的水仙花数);intnumber=100;//由于水仙花数是三位数,故由100开始算起inti,j,k;//ijk分别为number的百位、十位、个位for(intsum;number1000;number++){i=number/100;j=(number-i*100)/10;k=number-i*100-j*10;sum=i*i*i+j*j*j+k*k*k;if(sum==number)System.out.println(number+isadafodilnumber!);}}}7、求a+aa+aaa+.......+aaaaaaaaa=?其中a为1至9之中的一个数,项数也要可以指定。importjava.util.Scanner;classMultinomial{publicstaticvoidmain(String[]args){inta;//定义输入的ainthowMany;//定义最后的一项有多少个数字Scannerscanner=newScanner(System.in);System.out.println(请输入一个1~9的a值);a=scanner.nextInt();System.out.println(请问要相加多少项?);howMany=scanner.nextInt();intsum=0;inta1=a;//用来保存a的初始值for(inti=1;i=howMany;i++){sum+=a;a=10*a+a1;//这表示a的下一项//每次a的下一项都等于前一项*10,再加上刚输入时的a;注意,这时的a已经变化了。}System.out.println(sum=+sum);}}8、求2/1+3/2+5/3+8/5+13/8.....前20项之和?classSum{publicstaticvoidmain(Sting[]args){doublesum=0;doublefenZi=2.0,fenMu=1.0;//初始的分子(fenZi)=2,分母(fenMu)=1for(inti=1;i=20;i++){sum+=fenZi/fenMu;fenMu=fenZi;//下一项的分母=上一项的分子fenZi+=fenMu;//下一项的分子=上一项的分子加分母}System.out.println(sum=sum);}}9、利用程序输出如下图形:*************************classAsterisk{publicstaticvoidmain(String[]args){for(inti=1;i=13;i+=2){for(intj=1;j=i&&i+j=14;j++){System.out.print(*);}System.out.println();//换行}}}11、计算圆周率PI=4-4/3+4/5-4/7.......打印出第一个大于3.1415小于3.1416的值classPi{publicstaticvoidmain(String[]args){doublepi=0;//定义初始值doublefenZi=4;//分子为4doublefenMu=1;//第一个4,可看作分母为1的分式,以后的分母每次递增2for(inti=0;i1000000000;i++){//运行老久,减少循环次数会快很多,只是精确度小些pi+=(fenZi/fenMu);fenZi*=-1.0;//每项分子的变化是+4,-4,+4,-4....fenMu+=2.0;//分母的变化是1,3,5,7,....每项递加2}System.out.println(pi);}}输出结果为pi=3.1415926525880504,应该不精确12、输入一个数据n,计算斐波那契数列(Fibonacci)的第n个值112358132134规律:一个数等于前两个数之和//计算斐波那契数列(Fibonacci)的第n个值publicclassFibonacci{publicstaticvoidmain(Stringargs[]){intn=Integer.parseInt(args[0]);intn1=1;//第一个数intn2=1;//第二个数intsum=0;//和if(n=0){System.out.println(参数错误!);return;}if(n=2){sum=1;}else{for(inti=3;i=n;i++){sum=n1+n2;n1=n2;n2=sum;}}System.out.println(sum);}}//计算斐波那契数列(Fibonacci)的第n个值//并把整个数列打印出来publicclassFibonacciPrint{publicstaticvoidmain(Stringargs[]){intn=Integer.parseInt(args[0]);FibonacciPrintt=newFibonacciPrint();for(inti=1;i=n;i++){t.print(i);}}publicvoidprint(intn){intn1=1;//第一个数intn2=1;//第二个数intsum=0;//和if(n=0){System.out.println(参数错误!);return;}if(n=2){sum=1;}else{for(inti=3;i=n;i++){sum=n1+n2;n1=n2;n2=sum;}}System.out.println(sum);}}13、求1-1/3+1/5-1/7+1/9......的值。a,求出前50项和值。b,求出最后一项绝对值小于1e-5的和值。15、在屏幕上打印出n行的金字塔图案,如,若n=5,则图案如下:*************************//打印金字塔图案publicclassPrintStar{publicstaticvoidmain(Stringargs[]){intcol=Integer.parseInt(args[0]);字符数组args的第一位转成int类型给COL哦for(inti=1;i=col;i++){//i表示行数//打印空格for(intk=0;kcol-i;k++){System.out.print();}//打印星星for(intm=0;m2*i-1;m++){System.out.print(*);}System.out.println();}}}16、歌德巴赫猜想,任何一个大于六的偶数可以拆分成两个质数的和打印出所有的可能//任何一个大于六的偶数可以拆分成两个质数的和//打印出所有的可能publicclassGedebahe{publicstaticvoidmain(Stringargs[]){intnum=Integer.parseInt(args[0]);if(num=6){System.out.println(参数错误!);return;}if(num%2!=0){System.out.println(参数错误!);return;}Gedebaheg=newGedebahe();//1不是质数,2是偶数,因此从3开始循环for(inti=3;i=num/2;i++){i
本文标题:java经典的小程序详尽代码
链接地址:https://www.777doc.com/doc-7025857 .html