Java编程练习题.docx

上传人:b****0 文档编号:9479273 上传时间:2023-05-19 格式:DOCX 页数:44 大小:60.23KB
下载 相关 举报
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_第6页
第6页 / 共44页
Java编程练习题.docx_第7页
第7页 / 共44页
Java编程练习题.docx_第8页
第8页 / 共44页
Java编程练习题.docx_第9页
第9页 / 共44页
Java编程练习题.docx_第10页
第10页 / 共44页
Java编程练习题.docx_第11页
第11页 / 共44页
Java编程练习题.docx_第12页
第12页 / 共44页
Java编程练习题.docx_第13页
第13页 / 共44页
Java编程练习题.docx_第14页
第14页 / 共44页
Java编程练习题.docx_第15页
第15页 / 共44页
Java编程练习题.docx_第16页
第16页 / 共44页
Java编程练习题.docx_第17页
第17页 / 共44页
Java编程练习题.docx_第18页
第18页 / 共44页
Java编程练习题.docx_第19页
第19页 / 共44页
Java编程练习题.docx_第20页
第20页 / 共44页
亲,该文档总共44页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

Java编程练习题.docx

《Java编程练习题.docx》由会员分享,可在线阅读,更多相关《Java编程练习题.docx(44页珍藏版)》请在冰点文库上搜索。

Java编程练习题.docx

Java编程练习题

Java编程练习题

一、简单问题:

1.编程求下列式子的值,

y=1-1/2+1/3-1/4+…+1/99-1/100

并将结果输出,格式为:

1-1/2+1/3-1/4+…+1/99-1/100=表达式的值

publicclassProg1{

publicstaticvoidmain(String[]args){

doublesum=0;

for(doublei=1;i<=100;i++)

{

sum=sum+(Math.pow(-1,i+1))*(1/i);

}

System.out.print("1-1/2+1/3-1/4+…+1/99-1/100="+sum);

}

}

运行结果:

2.请编程实现:

由键盘输入的任意一组字符,统计其中大写字母的个数m和小写字母的个数n,并输出m、n中的较大者。

importjava.util.Scanner;

publicclassProg1{

publicstaticvoidmain(String[]args){

Scannercin=newScanner(System.in);

StringStr=cin.nextLine();

intm=0,n=0;

for(inti=0;i

{

charc=Str.charAt(i);

if(c>='a'&&c<='z')

n++;

elseif(c>='A'&&c<='Z')

m++;

}

if(n>m)

System.out.print(n);

else

System.out.print(m);

}

}

运行结果:

3.编程,求全部水仙花数。

所谓水仙花数是指一个三位数,其各位数字立方的和等于该数。

如:

153=13+53+33。

importjava.util.Scanner;

publicclassProg1{

publicstaticvoidmain(String[]args){

intb=0,c=0,d=0;

for(inti=100;i<1000;i++)

{

d=i%10;

c=(i/10)%10;

b=(i/100)%10;

if(i==b*b*b+c*c*c+d*d*d)

{

System.out.println(i);

}

}

}

}

4.请编制程序判断输入的正整数是否既是5又是7的整倍数。

若是,则输出yes;否则输出no。

importjava.util.Scanner;

publicclassProg1{

publicstaticvoidmain(String[]args){

Scannercin=newScanner(System.in);

System.out.println("请输入一个正整数:

");

inta=cin.nextInt();

if(a%7==0&&a%5==0)

{

System.out.println("YES");

}

else

System.out.println("NO");

}

}

5.请编程实现:

对于给定的一个百分制成绩,输出相应的五分制成绩。

设:

90分以上为‘A’,80—89分为‘B’,70—79分为‘C’,60—69分为‘D’,60分以下为‘E’。

importjava.util.Scanner;

publicclassProg1{

publicstaticvoidmain(String[]args){

Scannercin=newScanner(System.in);

System.out.println("请输入成绩:

");

inta=cin.nextInt();

if(a>=90)

{System.out.println("A");}

elseif(a>=80)

{System.out.println("B");}

elseif(a>=70)

{System.out.println("C");}

elseif(a>=60)

{System.out.println("D");}

else

{System.out.println("E");}

}

}

6.输入一行字符,将其中的字母变成其后续的第3个字母,输出。

例:

a→d,x→a;y→b;编程实现。

importjava.util.Scanner;

publicclassProg1{

publicstaticvoidmain(String[]args){

Scannercin=newScanner(System.in);

Stringstr=cin.nextLine();

char[]c=newchar[]{'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','a','b','c'};

for(inti=0;i

{

char[]c1=newchar[str.length()];

c1[i]=str.charAt(i);

for(intj=0;j<26;j++)

{

if(c1[i]==c[j])

{charzc=c[j+3];

System.out.print(zc);}

}

}

}

}

7.编写程序,输入任意一个1~7之间的整数,将他们转换成对应的英文单词.例如:

1转换成Monday,7转换成Sunday.

importjava.util.Scanner;

publicclassProg1{

publicstaticvoidmain(String[]args){

Scannercin=newScanner(System.in);

System.out.println("输入任意一个1~7之间的整数:

");

ints=cin.nextInt();

switch(s)

{

case1:

{

System.out.print("Monday");

break;

}

case2:

{

System.out.print("Tuesday");

break;

}

case3:

{

System.out.print("Wednesday");

break;

}

case4:

{

System.out.print("Thursday");

break;

}

case5:

{

System.out.print("Friday");

break;

}

case6:

{

System.out.print("Saturday");

break;

}

case7:

{

System.out.print("Sunday");

break;

}

default:

{

}

}

}

}

连续输出:

importjava.util.Scanner;

publicclassProg1{

publicstaticvoidmain(String[]args){

Scannercin=newScanner(System.in);

while(true)

{System.out.println("输入任意一个1~7之间的整数:

");

ints=cin.nextInt();

switch(s)

{

case1:

{

System.out.println("Monday");

break;

}

case2:

{

System.out.println("Tuesday");

break;

}

case3:

{

System.out.print("Wednesday");

break;

}

case4:

{

System.out.println("Thursday");

break;

}

case5:

{

System.out.println("Friday");

break;

}

case6:

{

System.out.println("Saturday");

break;

}

case7:

{

System.out.println("Sunday");

break;

}

default:

{

}

}

}

}

}

8.输入三角形的三边a,b,c,判断能否构成三角形.若能,计算周长.

importjava.util.Scanner;

publicclassProg1{

publicstaticvoidmain(String[]args){

Scannercin=newScanner(System.in);

inta=cin.nextInt();

intb=cin.nextInt();

intc=cin.nextInt();

intl=0;

if(a+b>c&&a+c>b)

{l=a+b+c;

System.out.print(l);}

else

{

System.out.print("不能构成三角形");

}

}

}

9.编程序,输入a,b,c,求方程ax2+bx+c=0的解。

importjava.util.Scanner;

publicclassProg1{

publicstaticvoidmain(String[]args){

Scannercin=newScanner(System.in);

System.out.println("请输入a,b,c的值:

");

doublea=cin.nextInt();

doubleb=cin.nextInt();

doublec=cin.nextInt();

doublet=0;

t=b*b-4*a*c;

doublex1=0,x2=0;

inta1=(int)a;

intb1=(int)b;

intc1=(int)c;

System.out.println("方程"+a1+"*x*x+"+b1+"*x+"+c1+"=0的解:

");

if(t<0)

System.out.println("无解");

elseif(t>=0)

{

x1=(-b+Math.pow(t,0.5))/(2*a);

x2=(-b-Math.pow(t,0.5))/(2*a);

System.out.println("x1="+x1+""+"x2="+x2);

}

}}

运行结果:

请输入a,b,c的值:

1

5

6

方程1*x*x+5*x+6=0的解:

x1=-2.0x2=-3.0

10.计算出前20项fibonacci数列,要求一行打印5个数.(未写)

一般而言,兔子在出生两个月后,就有繁殖能力,一对兔子每个月能生出一对小兔子来。

如果所有兔都不死,那么一年以后可以繁殖多少对兔子?

  我们不妨拿新出生的一对小兔子分析一下:

  第一个月小兔子没有繁殖能力,所以还是一对;

  两个月后,生下一对小兔总数共有两对;

  三个月以后,老兔子又生下一对,因为小兔子还没有繁殖能力,所以一共是三对;

  …… 

  依次类推可以列出下表:

  

经过月数

0

1

2

3

4

5

6

7

8

9

10

11

12

幼仔对数

0

1

1

2

3

5

8

13

21

34

55

89

144

成兔对数

1

1

2

3

5

8

13

21

34

55

89

144

233

总体对数

1

2

3

5

8

13

21

34

55

89

144

233

377

importjava.util.Scanner;

publicclassProg1{

publicstaticvoidmain(String[]args){

inta=0,b=1,c=1;

Scannercin=newScanner(System.in);

System.out.println("请输入经过的月数:

");

intn=cin.nextInt();

if(n==1)

{

a=1;

b=1;

c=2;

}

else

{

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

{

a=b;b=c;c=a+b;

}

}

System.out.print("幼仔对数:

"+a+",");

System.out.print("成兔对数:

"+b+",");

System.out.print("总体对数:

"+c);

}

}

数列输出:

publicclassProg1{

publicstaticvoidmain(String[]args){

inta=0,b=1,c=1;

for(inti=1;i<=20;i++)

{

a=b;b=c;c=a+b;

System.out.println("经过"+i+"天,"+"幼仔对数:

"+a+","+"成兔对数:

"+b+","+"总体对数:

"+c);

}

}

}

运行结果:

经过1天,幼仔对数:

1,成兔对数:

1,总体对数:

2

经过2天,幼仔对数:

1,成兔对数:

2,总体对数:

3

经过3天,幼仔对数:

2,成兔对数:

3,总体对数:

5

经过4天,幼仔对数:

3,成兔对数:

5,总体对数:

8

经过5天,幼仔对数:

5,成兔对数:

8,总体对数:

13

经过6天,幼仔对数:

8,成兔对数:

13,总体对数:

21

经过7天,幼仔对数:

13,成兔对数:

21,总体对数:

34

经过8天,幼仔对数:

21,成兔对数:

34,总体对数:

55

经过9天,幼仔对数:

34,成兔对数:

55,总体对数:

89

经过10天,幼仔对数:

55,成兔对数:

89,总体对数:

144

经过11天,幼仔对数:

89,成兔对数:

144,总体对数:

233

经过12天,幼仔对数:

144,成兔对数:

233,总体对数:

377

经过13天,幼仔对数:

233,成兔对数:

377,总体对数:

610

经过14天,幼仔对数:

377,成兔对数:

610,总体对数:

987

经过15天,幼仔对数:

610,成兔对数:

987,总体对数:

1597

经过16天,幼仔对数:

987,成兔对数:

1597,总体对数:

2584

经过17天,幼仔对数:

1597,成兔对数:

2584,总体对数:

4181

经过18天,幼仔对数:

2584,成兔对数:

4181,总体对数:

6765

经过19天,幼仔对数:

4181,成兔对数:

6765,总体对数:

10946

经过20天,幼仔对数:

6765,成兔对数:

10946,总体对数:

17711

11.输出100~10000之间个位数为3的所有素数。

publicclassProg1{

publicstaticvoidmain(String[]args){

booleanflag=false;

for(inti=103;i<10000;i=i+10)

{

for(intj=2;j

if(i%j!

=0)

{

flag=true;

}

if(flag)

{

System.out.println(i);

}

}

}

}

12.百钱买百鸡问题:

公鸡每只5元,母鸡每只3元,小鸡3只一元,问一百元买一百只鸡有几种买法.

publicclassProg1{

publicstaticvoidmain(String[]args){

inta=0;

intb=0;

doublec=0;

intg=0;

for(a=1;a<=20;a++)

{

for(b=1;b<=33;b++)

{

for(c=1;c<=100;c++)

{

if(5*a+3*b+c/3==100&&a+b+c==100)

{g++;

intc1=(int)c;

System.out.print("第"+g+"种方法:

公鸡:

"+a+"只,母鸡:

"+b+"只,小鸡:

"+c1+"只");

System.out.println();

}

}

}

}

}

}

13.请编制程序要求输入整数a和b,若a2+b2大于100,则输出a2+b2百位以上的数字,否则输出两数之和。

/*-------------------------------------------------------

【程序设计】

---------------------------------------------------------

题目:

请编制程序要求输入整数a和b,若a2+b2大于100,

输出a2+b2百位以上的数字,

否则输出两数之和。

建立的类名为Prog1

-------------------------------------------------------*/

/**********Program**********/

importjava.util.Scanner;

publicclassProg1

{

publicstaticvoidmain(Stringargs[])

{

Scannercin=newScanner(System.in);

System.out.println("请输入a,b的值:

");

inta=cin.nextInt();

intb=cin.nextInt();

intc=0;

if(a*a+b*b>100)

{

c=(a*a+b*b)/100;

System.out.println(c);

}

else

System.out.println(a+b);

}

}/**********End**********/

运行结果:

请输入a,b的值:

10

2

1

14.编程实现:

对键盘输入的任意一个四位正整数,计算各位数字平方和。

如:

2345,则:

计算22+32+42+52

importjava.util.Scanner;

publicclassProg1{

publicstaticvoidmain(String[]args){

Scannercin=newScanner(System.in);

System.out.println("请输入一个四位正整数:

");

intn=cin.nextInt();

inta,b,c,d;

d=n%10;

c=(n-d)%100/10;

b=(n-d-c*10)%1000/100;

a=(n-d-c*10-b*100)/1000;

intm=0;

m=a*a+b*b+c*c+d*d;

System.out.println(m);

}

}

运行结果:

请输入一个四位正整数:

3333

36

15.有1020个西瓜,第一天卖一半多两个,以后每天卖剩下的一半多两个,问几天以后能卖完,请编程.

publicclassProg1{

publicstaticvoidmain(String[]args){

intlast=0;

last=1020/2+2;

inti=0;

for(i=1;last>=0;i++)

{

last=last-(last/2+2);

}

System.out.print("需要的天数:

"+i);

}

}运行结果:

需要的天数:

9

16.编程,输出200以内所有完全平方数C(满足C2=A2+B2)及其个数。

publicclassProg1{

publicstaticvoidmain(String[]args){

inta=0,b=0,n=0;

for(intc=0;c<=200;c++)

for(a=0;a<=200;a++)

for(b=0;b<=200;b++)

{

if(c*c==a*a+b*b)

{System.out.println(c);

n++;

}

}

n=(n-1)/2+1;

System.out.println(n);

}

}

17.设N是一个四位数,它的9倍恰好是其反序数(例如:

123的反序数是321),编程,输出所有满足条件的N。

(未写)

publicclassProg1{

publicstaticvoidmain(String[]args){

for(inti=1000;i*9<10000;i++)

{

Stringc="";

Stringstr=String.valueOf(i);

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

{

c=c+str.charAt(j);

}

inta=Integer.parseInt(c);

if(a==i*9)

System.out.println(i);

}

}

}

18.编程,输出555555的约数中最大的三位数。

publicclassProg1{

publicstaticvoidmain(String[]args){

intmax=100;

for(inti=100;i<=999;i++)

{

if(555555%i==0)

{

if(i>max)

max=i;

}

}

System

展开阅读全文
相关搜索
资源标签

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2