1.指數(shù)計算問題
有一對兔子,從出生后第3個月起每個月都生一對兔子,小兔子長到第三個月后每個月又生一對兔子,假如兔子都不死,問每個月的兔子對數(shù)為多少?
程序分析:兔子的規(guī)律為數(shù)列1,1,2,3,5,8,13,21....
publicclassProg1{
publicstaticvoidmain(String[]args){
intn=10;
System.out.println("第"+n+"個月兔子總數(shù)為"+fun(n));
}
privatestaticintfun(intn){
if(n==1||n==2)
return1;
else
returnfun(n-1)+fun(n-2);
}}
2.指定范圍包含的素數(shù)
判斷101-200之間有多少個素數(shù),并輸出所有素數(shù)。
程序分析:判斷素數(shù)的方法:用一個數(shù)分別去除2到sqrt(這個數(shù)),如果能被整除,則表明此數(shù)不是素數(shù),反之是素數(shù)。
publicclassProg2{
publicstaticvoidmain(String[]args){
intm=1;
intn=1000;
intcount=0;
//統(tǒng)計素數(shù)個數(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+"個素數(shù)");
}
//判斷素數(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ù)"是指一個三位數(shù),其各位數(shù)字立方和等于該數(shù)本身。例如:153是一個"水仙花數(shù)",因為153=1的三次方+5的三次方+3的三次方。
程序分析:利用for循環(huán)控制100-999個數(shù),每個數(shù)分解出個位,十位,百位。
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ù)
將一個正整數(shù)分解質(zhì)因數(shù)。例如:輸入90,打印出90=233*5。
程序分析:對n進行分解質(zhì)因數(shù),應(yīng)先找到一個最小的質(zhì)數(shù)k,然后按下述步驟完成:
(1)如果這個質(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.條件運算符使用
利用條件運算符的嵌套來完成此題:學(xué)習(xí)成績>=90分的同學(xué)用A表示,60-89分之間的用B表示,60分以下的用C表示。
程序分析:(a>b)?a:b這是條件運算符的基本例子。
publicclassProg5{
publicstaticvoidmain(String[]args){
intn=-1;
try{
n=Integer.parseInt(args[0]);
}catch(ArrayIndexOutOfBoundsExceptione){
System.out.println("請輸入成績");
return;
}
grade(n);
}
//成績等級計算
privatestaticvoidgrade(intn){
if(n>100||n<0)
System.out.println("輸入無效");
else{
Stringstr=(n>=90)?"分,屬于A等":((n>60)?"分,屬于B等":"分,屬于C等");
System.out.println(n+str);
}
}}
以上就是長沙牛耳教育java培訓(xùn)機構(gòu)的小編針對“5道Java基礎(chǔ)編程練習(xí)題”的內(nèi)容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業(yè)老師隨時為你服務(wù)。