java程序及答案.docx

上传人:b****6 文档编号:7072114 上传时间:2023-01-16 格式:DOCX 页数:44 大小:31.81KB
下载 相关 举报
java程序及答案.docx_第1页
第1页 / 共44页
java程序及答案.docx_第2页
第2页 / 共44页
java程序及答案.docx_第3页
第3页 / 共44页
java程序及答案.docx_第4页
第4页 / 共44页
java程序及答案.docx_第5页
第5页 / 共44页
点击查看更多>>
下载资源
资源描述

java程序及答案.docx

《java程序及答案.docx》由会员分享,可在线阅读,更多相关《java程序及答案.docx(44页珍藏版)》请在冰豆网上搜索。

java程序及答案.docx

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(year<0||year>3000){

System.out.println("年份有误,程序退出!

");

System.exit(0);

}

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

=0)||(year%400==0))

System.out.println(year+"isbissextile");

else

System.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(mark<0||mark>100){

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(;number<100;number+=2){sum+=number;}

System.out.println("1+3+5+7+……+99="+sum);

}

}

4、利用for循环打印9*9表?

1*1=1

1*2=22*2=4

1*3=32*3=63*3=9

1*4=42*4=83*4=124*4=16

1*5=52*5=103*5=154*5=205*5=25

1*6=62*6=123*6=184*6=245*6=306*6=36

1*7=72*7=143*7=214*7=285*7=356*7=427*7=49

1*8=82*8=163*8=244*8=325*8=406*8=487*8=568*8=64

1*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;j<10;j++){

for(intk=1;k<10;k++){//老师的做法,判断语句里的k<=j,省去下列的if语句。

if(k>j)break;//此处用continue也可以,只是效率低一点

System.out.print(""+k+"X"+j+"="+j*k);

}

System.out.println();

}

}

}

6、输出所有的水仙花数,把谓水仙花数是指一个数3位数,其各各位数字立方和等于其本身,

例如:

153=1*1*1+3*3*3+5*5*5

classDafodilNumber{

publicstaticvoidmain(String[]args){

System.out.println("以下是所有的水仙花数");

intnumber=100;//由于水仙花数是三位数,故由100开始算起

inti,j,k;//ijk分别为number的百位、十位、个位

for(intsum;number<1000;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;//定义输入的a

inthowMany;//定义最后的一项有多少个数字

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)=1

for(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<=13;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;//分子为4

doublefenMu=1;//第一个4,可看作分母为1的分式,以后的分母每次递增2

for(inti=0;i<1000000000;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的和值。

publicclassSum{

publicstaticvoidmain(String[]args){

//TODOAuto-generatedmethodstub

doublefenZi=1;

doublefenMu=1;

doublesum=0;

for(inti=0;i<50;i++){

sum+=fenZi/fenMu;

fenZi*=-1.0;

fenMu+=2;

带“//”是第二问所需语句。

//doublelastNumber=fenZi/fenMu;

//System.out.println(sum);

//doublet=Math.abs(lastNumber);

//if(t<1e-5){

//System.out.println(t);

//System.out.println(sum);

//}

}

System.out.println(sum);

}

}

15、在屏幕上打印出n行的金字塔图案,如,若n=5,则图案如下:

*

***

*****

*******

*********

//打印金字塔图案

publicclassPrintStar{

publicstaticvoidmain(Stringargs[]){

intcol=Integer.parseInt(args[0]);

for(inti=1;i<=col;i++){//i表示行数

//打印空格

for(intk=0;k

System.out.print("");

}

//打印星星

for(intm=0;m<2*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++){

if(i%2==0){//如果为偶数,退出本次循环

continue;

}

//当i与num-i都为质数时,满足条件,打印

if(g.isPrime(i)&&g.isPrime(num-i)){

System.out.println(i+"+"+(num-i)+"="+num);

}

}

}

数组

1.定义一个int型的一维数组,包含10个元素,分别赋一些随机整数,然后求出所有元素的最大值,

最小值,平均值,和值,并输出出来。

代码1:

classArrayNumber{

publicstaticvoidmain(String[]args){

int[]arrayNumber;

arrayNumber=newint[10];

System.out.println("以下是随机的10个整数:

");

//填入随机的10个整数

for(inti=0;i

arrayNumber[i]=(int)(100*Math.random());

System.out.print(arrayNumber[i]+"");

}

System.out.println();

intmax=arrayNumber[0];

intmin=arrayNumber[0];

intsum=0;

for(inti=0;i

if(max

max=arrayNumber[i];//求最大值

if(min>arrayNumber[i])

min=arrayNumber[i];//求最小值

sum+=arrayNumber[i];

}

System.out.println("其中Max="+max+",Min="+min+",Sum="+sum+",Avg="+sum/10.0);

}

}

代码2:

publicclassArray{

publicstaticvoidmain(String[]args){

//TODOAuto-generatedmethodstub

intarray[]=newint[10];//定义数组

doublesum=0.0;//所有元素和

doubleavg=0.0;//平均值

System.out.println("得到的随机数组为:

");

//得到随机数并输出

for(inti=0;i<10;i++){

array[i]=(int)(Math.random()*20);

System.out.print(array[i]+"");

}

//冒泡排序,也可用Arrays.sort()方法。

for(inti=0;i

for(intj=array.length-1;j>0;j--){

inttemp;

if(array[j]>array[j-1]){

temp=array[j];

array[j]=array[j-1];

array[j-1]=temp;

}

}

}

//求和

System.out.println("\n数组由大到小排序:

");

for(inti=0;i

System.out.print(array[i]+"");

sum=sum+array[i];

}

//输出相关信息

System.out.println("\n数组的最大值为:

"+array[0]);

System.out.println("数组的最小值为:

"+array[array.length-1]);

System.out.println("数组所有元素和为"+sum);

avg=sum/array.length;

System.out.println("数组所有元素平均值为"+avg);

}

}

2.定义一个int型的一维数组,包含10个元素,分别赋值为1~10,然后将数组中的元素都向前移一个位置,

即,a[0]=a[1],a[1]=a[2],…最后一个元素的值是原来第一个元素的值,然后输出这个数组。

代码1:

publicclassArraySort{

publicstaticvoidmain(String[]args){

//TODOAuto-generatedmethodstub

intarray[]=newint[10];

System.out.println("原数组为:

");

for(inti=0;i

array[i]=i;

System.out.print(array[i]+"");

}

System.out.println("\n移位后数组为:

");

inttemp=0;

temp=array[0];

array[0]=array[1];

array[1]=array[2];

array[2]=array[3];

array[3]=array[4];

array[4]=array[5];

array[5]=array[6];

array[6]=array[7];

array[7]=array[8];

array[8]=array[9];

array[9]=temp;

for(inti=0;i

System.out.print(array[i]+"");

}

}

}

代码2:

publicclassArraySort{

publicstaticvoidmain(String[]args){

//TODOAuto-generatedmethodstub

intarray[]=newint[10];

System.out.println("原数组为:

");

for(inti=0;i

array[i]=i;

System.out.print(array[i]+"");

}

System.out.println("\n移位后数组为:

");

inttemp=0;

temp=array[0];//将array[0]的值赋给temp;

//将array[0]到array[8]的值前移;

for(inti=0;i

array[i]=array[i+1];

}

array[9]=temp;//将原array[0]的值赋给array[9]

for(inti=0;i

System.out.print(array[i]+"");

}

}

}

3.定义一个int型的一维数组,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1