更新時(shí)間:2020-04-08 13:47:19 來源:動(dòng)力節(jié)點(diǎn) 瀏覽3272次
1.指數(shù)計(jì)算問題
有一對(duì)兔子,從出生后第3個(gè)月起每個(gè)月都生一對(duì)兔子,小兔子長(zhǎng)到第三個(gè)月后每個(gè)月又生一對(duì)兔子,假如兔子都不死,問每個(gè)月的兔子對(duì)數(shù)為多少?
程序分析:兔子的規(guī)律為數(shù)列1,1,2,3,5,8,13,21....
publicclassProg1{
publicstaticvoidmain(String[]args){
intn=10;
System.out.println("第"+n+"個(gè)月兔子總數(shù)為"+fun(n));
}
privatestaticintfun(intn){
if(n==1||n==2)
return1;
else
returnfun(n-1)+fun(n-2);
}}
2.指定范圍包含的素?cái)?shù)
判斷101-200之間有多少個(gè)素?cái)?shù),并輸出所有素?cái)?shù)。
程序分析:判斷素?cái)?shù)的方法:用一個(gè)數(shù)分別去除2到sqrt(這個(gè)數(shù)),如果能被整除,則表明此數(shù)不是素?cái)?shù),反之是素?cái)?shù)。
publicclassProg2{
publicstaticvoidmain(String[]args){
intm=1;
intn=1000;
intcount=0;
//統(tǒng)計(jì)素?cái)?shù)個(gè)數(shù)
for(inti=m;i<n;i++){
if(isPrime(i)){
count++;
System.out.print(i+"");
if(count%10==0){
System.out.println();
}
}
}
System.out.println();
System.out.println("在"+m+"和"+n+"之間共有"+count+"個(gè)素?cái)?shù)");
}
//判斷素?cái)?shù)
privatestaticbooleanisPrime(intn){
booleanflag=true;
if(n==1)
flag=false;
else{
for(inti=2;i<=Math.sqrt(n);i++){
if((n%i)==0||n==1){
flag=false;
break;
}
else
flag=true;
}
}
returnflag;
}}
3.水仙花數(shù)
打印出所有的"水仙花數(shù)",所謂"水仙花數(shù)"是指一個(gè)三位數(shù),其各位數(shù)字立方和等于該數(shù)本身。例如:153是一個(gè)"水仙花數(shù)",因?yàn)?53=1的三次方+5的三次方+3的三次方。
程序分析:利用for循環(huán)控制100-999個(gè)數(shù),每個(gè)數(shù)分解出個(gè)位,十位,百位。
publicclassProg3{
publicstaticvoidmain(String[]args){
for(inti=100;i<1000;i++){
if(isLotus(i))
System.out.print(i+"");
}
System.out.println();
}
//判斷水仙花數(shù)
privatestaticbooleanisLotus(intlotus){
intm=0;
intn=lotus;
intsum=0;
m=n/100;
n-=m*100;
sum=m*m*m;
m=n/10;
n-=m*10;
sum+=m*m*m+n*n*n;
if(sum==lotus)
returntrue;
else
returnfalse;
}}
4.分解質(zhì)因數(shù)
將一個(gè)正整數(shù)分解質(zhì)因數(shù)。例如:輸入90,打印出90=233*5。
程序分析:對(duì)n進(jìn)行分解質(zhì)因數(shù),應(yīng)先找到一個(gè)最小的質(zhì)數(shù)k,然后按下述步驟完成:
(1)如果這個(gè)質(zhì)數(shù)恰等于n,則說明分解質(zhì)因數(shù)的過程已經(jīng)結(jié)束,打印出即可。(2)如果n<>k,但n能被k整除,則應(yīng)打印出k的值,并用n除以k的商,作為新的正整數(shù)n,重復(fù)執(zhí)行第一步。(3)如果n不能被k整除,則用k+1作為k的值,重復(fù)執(zhí)行第一步。
publicclassProg4{
publicstaticvoidmain(String[]args){
intn=13;
decompose(n);
}
privatestaticvoiddecompose(intn){
System.out.print(n+"=");
for(inti=2;i<n+1;i++){
while(n%i==0&&n!=i){
n/=i;
System.out.print(i+"*");
}
if(n==i){
System.out.println(i);
break;
}
}
}}
5.條件運(yùn)算符使用
利用條件運(yùn)算符的嵌套來完成此題:學(xué)習(xí)成績(jī)>=90分的同學(xué)用A表示,60-89分之間的用B表示,60分以下的用C表示。
程序分析:(a>b)?a:b這是條件運(yùn)算符的基本例子。
publicclassProg5{
publicstaticvoidmain(String[]args){
intn=-1;
try{
n=Integer.parseInt(args[0]);
}catch(ArrayIndexOutOfBoundsExceptione){
System.out.println("請(qǐng)輸入成績(jī)");
return;
}
grade(n);
}
//成績(jī)等級(jí)計(jì)算
privatestaticvoidgrade(intn){
if(n>100||n<0)
System.out.println("輸入無效");
else{
Stringstr=(n>=90)?"分,屬于A等":((n>60)?"分,屬于B等":"分,屬于C等");
System.out.println(n+str);
}
}}
以上就是動(dòng)力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)的小編針對(duì)“5道Java基礎(chǔ)編程練習(xí)題”的內(nèi)容進(jìn)行的回答,希望對(duì)大家有所幫助,如有疑問,請(qǐng)?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。
相關(guān)閱讀
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)
初級(jí) 202925
初級(jí) 203221
初級(jí) 202629
初級(jí) 203743