java基础题及答案Word文档格式.docx

上传人:b****3 文档编号:16845284 上传时间:2022-11-26 格式:DOCX 页数:29 大小:25.20KB
下载 相关 举报
java基础题及答案Word文档格式.docx_第1页
第1页 / 共29页
java基础题及答案Word文档格式.docx_第2页
第2页 / 共29页
java基础题及答案Word文档格式.docx_第3页
第3页 / 共29页
java基础题及答案Word文档格式.docx_第4页
第4页 / 共29页
java基础题及答案Word文档格式.docx_第5页
第5页 / 共29页
点击查看更多>>
下载资源
资源描述

java基础题及答案Word文档格式.docx

《java基础题及答案Word文档格式.docx》由会员分享,可在线阅读,更多相关《java基础题及答案Word文档格式.docx(29页珍藏版)》请在冰豆网上搜索。

java基础题及答案Word文档格式.docx

max=random[0];

for(intk=0;

k<

k++){

if(random[k]>

max){

max=random[k];

最大值为:

+max);

}

*

**

***

****

for(inti=1;

=4;

for(intj=1;

=4-i;

j++)

System.out.print("

for(intk=1;

=i;

*"

System.out.println();

打印出图案:

*

*****

*******

for(intj=1;

j<

=i*2-1;

j++){

for(inti=4;

i>

0;

i--){

=7;

intj;

j=i>

4?

15-2*i:

2*i-1;

for(;

j>

j--){

publicclassshijian{

if(i>

4)

j=15-2*i;

else

j=2*i-1;

j--){

if(i<

7/2+1)

j=2*(7-i)+1;

/**【程序1】

*题目:

古典问题:

有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一

*对兔子,假如兔子都不死,问每个月的兔子总数为多少?

*1.程序分析:

兔子的规律为数列1,1,2,3,5,8,13,21....

publicclassTest1{

publicstaticintrabit(intn){

if(n==1||n==2) 

{

return1;

}elseif(n>

=3){

return(rabit(n-1))+(rabit(n-2));

return0;

for(inti=1;

i<

=12;

i++){

第"

+i+"

个月兔子对数为:

+rabit(i));

/*【程序2】

判断101-200之间有多少个素数,并输出所有素数。

判断素数的方法:

用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数

publicclassTest2{

publicstaticvoidmain(String[]args){

101到200间的素数有:

for(inti=101;

=200;

booleanflag=true;

for(intj=2;

=Math.sqrt(i);

if(i%j==0){

flag=false;

break;

if(flag==true){

System.out.print(i+"

continue;

/*【程序3】

打印出所有的"

水仙花数"

,所谓"

是指一个三位数,其各位数字立方和等于该数本身。

例如:

*153是一个"

,因为153=1的三次方+5的三次方+3的三次方。

利用for循环控制100-999个数,每个数分解出个位,十位,百位。

publicclassTest3{

for(inti=100;

999;

intg=(i%100)%10;

ints=(i%100)/10;

intb=(i/100);

if(g*g*g+s*s*s+b*b*b==i){

System.out.println(i);

/*【程序4】

将一个正整数分解质因数。

输入90,打印出90=2*3*3*5。

*程序分析:

对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:

*

(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。

*

(2)如果n<

>

k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。

*(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。

publicstaticvoidmain(String[]args){

intk=2;

请输入一个数:

Scannerinput=newScanner(System.in);

intnum=input.nextInt();

if(num<

=1){

输入的数无效"

return;

if(num==k){

System.out.println(num+"

="

+"

1*"

+num);

}else{

System.out.print(num+"

=1"

while(num>

=k){

if(num%k==0){ 

//判断取余的数是否为0,如果是的话刚打印出k的值;

+k);

num=num/k;

k=k+1;

//如果说num与K取余不为0话,就K执行+1;

/*【程序5】

利用条件运算符的嵌套来完成此题:

学习成绩>

=90分的同学用A表示,60-89分之间的用B表示,60分以下

*的用C表示。

(a>

b)?

a:

b这是条件运算符的基本例子。

publicclassTest5{

System.out.println("

pleaseinputascore:

java.util.Scannerinput=newjava.util.Scanner(System.in);

intscore=input.nextInt();

intx=score/10;

switch(x){

case9:

A"

case8:

B"

case7:

C"

case6:

D"

default:

E"

/*【程序6】

输入两个正整数m和n,求其最大公约数和最小公倍数。

利用辗除法。

publicclassTest6{

//求最大公约数

publicstaticintgy(intm,intn){

while(m%n!

=0){

inttemp=m%n;

m=n;

n=temp;

returnn;

//求最小公倍数

publicstaticintgb(intm,intn){

returnm*n/gy(m,n);

publicstaticvoidmain(String[]args){

Scannerin=newScanner(System.in);

请输入第一个整数:

intm=in.nextInt();

请输入第二个整数:

intn=in.nextInt();

System.out.println(m+"

"

+n+"

的最大公约数是:

+gy(m,n));

最小公倍数是:

+gb(m,n));

/*【程序7】

输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。

利用while语句,条件为输入的字符不为'

\n'

.

publicclassTest7{

publicstaticvoidmain(String[]args){

inti=0;

intj=0;

intk=0;

intm=0;

请输入一行字符:

Stringstr=in.next();

for(intn=0;

n<

str.length();

n++){ 

//str.length()来决定位数!

elseif(zf=='

'

)//判断空格时有错误

j++;

elseif(zf>

='

0'

&

zf<

9'

k++;

m++;

英文字母的个数是:

+i);

空格的个数是:

+j);

数字的个数是:

其他字符的个数是:

+m);

/*【程序8】

求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。

例如2+22+222+2222+22222(此时共有5个数相加),

*几个数相加有键盘控制。

关键是计算出每一项的值。

intsum=0;

intb=0;

请输入需要相加的数:

请输入几位数相加:

inta=input.nextInt();

=a;

sum=sum*10+num;

b+=sum;

if(i==a){

System.out.print(sum+"

System.out.print(b);

/*【程序9】

*题目:

一个数如果恰好等于它的因子之和,这个数就称为"

完数"

例如6=1+2+3.编程找出1000以内的所有完

*数。

*/

publicclassTest9

{

publicstaticvoidmain(String[]args)

intsum;

for(inti=2;

1000;

i++)

sum=0;

=i/2;

if(i%j==0)

sum+=j;

if(sum==i)

完数有:

/*【程序10】

一球从100米高度自由落下,每次落地后反跳回原高度的一半;

再落下,求它在第10次落地时,共经过多

*少米?

第10次反弹多高?

publicclassTest10

publicstaticfinaldoublestartLong=100;

//求小球第n次落地时经过的距离

publicstaticdoubleballLeng(intn)

if(n<

=0)

小球没有落地!

doubleballLong=startLong;

doubletemp=startLong;

n;

ballLong=(ballLong/2);

temp+=ballLong*2;

returntemp;

//求小球第n次反弹了多高

publicstaticdoublereboundLong(intn)

if(n==1)

returnstartLong/2;

return(ballLeng(n)-ballLeng(n-1))/4;

//为什么除4

//求当小球停止跳动时,小球跳动了多少次数

publicstaticvoidzeroRebound()

intm=2;

while(m>

=2)

if((ballLeng(m)-ballLeng(m-1))/4==0)

System.out.println(m);

System.out.println(ballLeng(10));

System.out.println(reboundLong(10));

zeroRebound();

/*【程序11】

有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?

都是多少?

*1.程序分析:

可填在百位、十位、个位的数字都是1、2、3、4。

组成所有的排列后再去掉不满足条件的排列。

publicclassTest11{

publicstaticvoidmain(String[]args){

intcount=0;

5;

k++)

if(i!

=j&

i!

=k&

j!

=k)

count++;

System.out.println(i*100+j*10+k);

由1,2,3,4共可以组成"

+count+"

个互不相同且无重复数字的三位数!

/*【程序12】

题目:

企业发放的奖金根据利润提成。

利润(I)低于或等于10万元时,奖金可提10%;

利润高于10万元,低于20万

元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;

20万到40万之间时,高于20万元的部

分,可

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

当前位置:首页 > 工程科技 > 能源化工

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

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