2023年面試100道經(jīng)典Java基礎(chǔ)題_第1頁
2023年面試100道經(jīng)典Java基礎(chǔ)題_第2頁
2023年面試100道經(jīng)典Java基礎(chǔ)題_第3頁
2023年面試100道經(jīng)典Java基礎(chǔ)題_第4頁
2023年面試100道經(jīng)典Java基礎(chǔ)題_第5頁
已閱讀5頁,還剩72頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

面試必備100道經(jīng)典Java基礎(chǔ)題

1.完畢數(shù)組int[]a={100,40,60,87,

34,11,56,0}的迅速排序、冒泡排序;

迅速排序

實現(xiàn)代碼:

publicclassTestOOI{

publicstaticvoidmain(String[]args){

int[]a=newint[]{100,4C,60,87,34,11,56,0};

System.outprintln("未鋅蘇之前的數(shù)軸是:");

print(a);

System.ouf.println("排序之后的數(shù)據(jù)是:");

sorf(a,0,a.length-1);

print(a);

〃打印措施

publicstaticvoidprint(int[]b){

for(inti=0;i<b.length;i++){

System.oi/tprint(b[i]+"

)

System.outprintln();

}

〃排序措施

staticvoidsort(int[]a,inthigh){

if(low>=high)return;//lcw示不小于high,則直接返回

lf((high-low)==1){〃假如只有兩個數(shù)字,則直接比

if(a[0]>a[1])

swap(a,0,1);

return;

)

intpivot=a[low];〃取第種數(shù)作為中間數(shù)

intleft=low+1;

intright=high;

while(left<right){

〃從左邊開始找

while(left<right&&left<=high*,如左不不小于右則一直循環(huán)

if(a[left]>pivot)break;

left++;〃左卜標(biāo)往右邊走?點

}

〃從右邊開始找

while(left<=right&&right>low){〃假如左不小于右則一直循環(huán)

if(a[right]<=pivot)

break;

right”;/日下標(biāo)往左走??點

)

if(left<right)〃假如還沒有找完,則互換數(shù)字

svuap(a,right,left);

)

swap(a,low,right);

so/7(a,low,right);

sor/(a,right+1,high);

}

〃調(diào)位措施

privatestaticvoidswap(int[]array,inti,intj){

inttemp;

temp=array[i];

array[i]=array。];

array[j]=temp;

)

打印成果為:

未排序之前的數(shù)據(jù)是:

1004060873411560

排序2后H勺數(shù)據(jù)是:

0113440566087100

冒泡排序

實現(xiàn)代碼:

publicclassTest002{

publicstaticvoidmain(String[]args){

int[]arr={100,40,60,87,34,11,56,0};//定義數(shù)組

System.。川.printin,未排序之前的數(shù)據(jù)是:");

maopaoPrint(arr);

System.ouf.println();

System.?!?printing排序之后的數(shù)據(jù)是:");

maopaoSort(arry,

}

〃排序措施

publicstaticvoidmaopaoSort(int[]arrys){

〃定義臨時變量temp

inttemp=0;

〃用i表達(dá)下標(biāo),遍歷數(shù)組

for(intj=0;j<arrys.length;j++){

〃對于每一種數(shù)組元素,從。到尚未排序的最大下標(biāo),總是把最大的數(shù)字放在后邊

for(intk=0;k<arrys.length-j-1;k++){

if(arrys[k]>arrys[k+1){〃判斷H前數(shù)字、?背面數(shù)字的大小

temp=arrys[k];

arrys[k]=arrys[k+1];

arrys[k+1]=temp;

)

)

)

maopaoPrint(arrys);//-IJ叩就出

)

〃打印措施

publicstaticvoidmaopaoPrint(int[]l){

for(inti=0;i<l.length;i++){

System.ouf.print(電]〃從小至十大H勺輸出

}

}

打印成果為:

未排序之前的數(shù)據(jù)是:

1004060873411560

排序之后的數(shù)據(jù)是:

0113440566087100

2.采用折半查找歐I算法,在數(shù)組中查關(guān)

到某個數(shù);

實現(xiàn)代碼:

importjava.util.Scanner;

publicclassTest003{

publicstaticintMax=20;

//數(shù)據(jù)數(shù)組源

publicstaticintdata\]={12,16,19,22,25,32,39,39,48,55,57,58,

63,68,69,70,78,84,88,90,97);

〃計數(shù)罌

publicstaticintcount=1;

publicstaticvoidmain(String[]args){

System.ouf.printlnf?請說'您要查找而數(shù)字:");

Scannersc=newScanner(System./n);

intKeyValue=sc.nextlnt();

〃調(diào)用折半查找

if(Search(KeyValue)){

〃輸出查找次數(shù)

System,outprintln("共查找了"+count+"次");

}else{

〃輸出沒有找到數(shù)據(jù)

System.outprintln("抱歉,數(shù)據(jù)數(shù)組源中找不到您輸入的數(shù)字");

)

}

〃折半杳找法

publicstaticbooleanSesrch(intk){

intleft=0;//左邊界變量

intright=Max-1;//右邊界變量

intmiddle;〃中位金變量

while(left<=right){

middle=(left+right)/2;

if(k<da冏middle]){

right=middle?1W查找前半段

}elseif(k>da冏middle]){

left=middle+1力查找后半段

}elseif(k==dafa[middle]){

System.ol/fprintln("Data[>^+middle+"]="+dafafmiddle]);

returntrue;

}

count++;

)

returnfalse;

3.輸入一種字符串,其中包括數(shù)字、特

殊符號(像:¥、&、(、>等)、大小寫

字母等,然后輸出每個字符串或符號的

ASCH碼附和;例如:輸入

“@#$%A&*():T,則打印出643。

實現(xiàn)代碼:

publicclassTestOOI{

publicstaticvoidmain(String[]args){

System.ouf.println("請輸入一種字符串:

Scannersc=newScanner(System./n);

Stringstr=sc.nextLine():

intsum=0;

for(inti=0;i<str.length();i++){

sum=sum+str.charAtii);

)

System.outprintin("您輸入的字符串每個字節(jié)相加的和為:「sum);

)

4.將一種數(shù)組中值=0的項去掉,將不為

0時值存入一種新時數(shù)組

例如:

inta加{0,1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5};

生成的新數(shù)組為:

intb[]={1,3,4,5,6,6,5,47,6,7,5}

實現(xiàn)代碼:

importjava.util.*;

publicclassTestOOI{

publicstaticvoidmain(String[]args){

inta[]={0,1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5};

Listdntegeolist=newArrayList<.lnteger^();

for(inti=O;i<a.length;i++){

if(a[i]!=O){

list.add(a[i]);

}

}

intb[]=newint[list.size()];

for(inti=0;i<list.size();i++){

b[i]=list.get(i);

}

System.?!?printing原數(shù)殂為:");

for(inti=O;i<a.length;i++){

System.ouAprint(a[i]+M");

}

System.our.println();

System.outprintln《去掉值為0H勺項之后為:");

for(inti:b){

System.outprint(i+"");

}

5.定義10個長度的Student數(shù)組,將

10個Student對象的年齡所有加1,

然后把10個Student對象的詳細(xì)信息

逐行打印出來(數(shù)組和ArrayList實現(xiàn))

實現(xiàn)代碼:

性一號類:

publicclassStudent{

publicStringname;

publicStringsex;

publicintage;

publicStringgetName(){

returnname;

}

publicvoidsetName(Stringname){

=name;

)

publicStringgetSex(){

returnsex;

)

publicvoidsetSex(Stringsex){

this.sex=sex;

}

publicintgetAge(){

returnage;

)

publicvoidsetAge(intage){

this.age=age;

}

publicStudent(Stringname,Stringsex,intage){

superO:

=name;

this.sex=sex;

this.age=age;

)

}

第二個類:

importjava.util.ArrayList;

importjava.util.List;

publicclassTestOOI{

staticStudent[]s=newSludent[10];

intk=1;

publicstaticvoidmain(String[]args){

List<Student>li=newA-rayList<Student>();

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

li.add(newStudent("zhangsan,,+i,"^",20));

}

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

(li.get(i).age)++;

)

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

System.oyAprintln(li.get(i).getName()+""+li.get(i).getSex()+""+li.get(i).getAge());

)

}

6.有工人,農(nóng)民,教師,科學(xué)家,服務(wù)生,其

中,工人,農(nóng)民,服務(wù)生只有基本工資.教師

除基本工資外,尚有課酬(元/天),科學(xué)家

除基本工資外,尚有年終獎,請你寫出有

關(guān)類,將多種類型的員工的整年工資打

印出來

實現(xiàn)代碼:(共有7個類)

同一種類:

packagecom.softeem.zy006;

r

*定義一種人的接口,以供實現(xiàn)

7

publicinterfacePeople{

publicdoublenum();

k二個類:

packagecom.softeem.zy006;

r

.工人類

*/

publicclassWorkerimplementsPeople{

privatedoublemontherSalary;

publicWorker(doublemontherSalary){

super();

this.montherSalary=montherSalary;

}

publicdoublenum(){

returngetMontherSalaryO*12;

)

publicdoublegetMontherSalaryO{

returnmontherSalary;

}

publicvoidsetMontherSaary(doublemontherSalary){

this.montherSalary=montherSalary;

那三個類:

packagecom.softeem.zy006;

r*

*農(nóng)民類

*/

publicclassPeasantimplementsPeople{

privatedoublemontherSslary;

publicPeasant(doublemontherSalary){

super();

this.montherSalary=montherSalary;

)

publicdoublegetMontherSalary(){

returnmontherSalary;

}

publicvoidsetMontherSaary(doublemontherSalary){

this.montherSalary=montherSalary;

)

publicdoublenum(){

returngetMontherSalary()*12;

}

第四個類:

packagecom.softeem.zy006;

*教師類

7

publicclassTeacherimplementsPeople{

privatedoublemontherSalary;

privatedoubledaySalary;

publicTeacher(doublemontherSalary,doubledaySalary){

super();

this.montherSalary=montherSalary;

this.daySalary=daySalary;

)

publicdoublenum(){

returngetMontherSalary()*12+getDaySalary()*365;

)

publicdoublegetMontherSalary(){

returnmontherSalary;

)

publicvoidsetMontherSaary(doublemontherSalary){

this.montherSalary=montherSalary;

}

publicdoublegetDaySalary(){

returndaySalary;

}

publicvoidsetDaySalary(doubledaySalary){

this.daySalary=daySalary;

)

)

除五個類:

packagecom.softeem.zy006;

,科學(xué)家類

*/

publicclassScientistimplementsPeople{

privatedoublemontherSalary;

privatedoubleprojectsalary;

publicScientist(doublemontherSalary,doubleprojectsalary){

super();

this.montherSalary=montherSalary;

jectsalary=projectsalary;

}

publicdoublenum(){

returngetMontherSalary()*12+getProjectSalary();

}

publicdoublegetMontherSalary(){

returnmontherSalary;

}

publicvoidsetMontherSaary(doublemontherSalary){

this.montherSalary=montherSalary;

)

publicdoublegetProjectSalary(){

returnprojectsalary;

}

publicvoidsetProjectSalsry(doubleprojectsalary){

jectsalary=projectsalary;

)

)

第六個類:

packagecom.softeem.zy006;

廣*

*服務(wù)員類

7

publicclassWaiterimplementsPeople{

privatedoublemontherSalary;

publicWaiter(doublemontherSalary){

super();

this.montherSalary=montherSalary;

)

publicdoublenum(){

returngetMontherSalary()*12;

}

publicdoublegetMontherSalary(){

returnmontherSalary;

)

publicvoidsetMontherSaary(doublemontherSalary){

this.montherSalary=montherSalary;

)

I

第七個類:

packagecom.softeem.zy006;

?測試類

7

publicclassTest{

publicstaticvoidmain(String[]args){

Testa=newTest();

Workerw=newWorker(IOOO);

System.ouf.println("工人由年薪為:"+w.num()+"元");

Peasantp=newPeasant(2500);

System.ouf.println("農(nóng)民向年薪為:”+p.num()+"元)

Teachert=newTeacher(4500,50);

System.?!?printin("教師內(nèi)年薪為:"+t.num()+"元】

Scientiste=newScientist(10500,30000);

System.ou±println("科學(xué)家『'J年薪區(qū):"+e.num()+"元");

Waitery=newWaiter(3400);

System.?!?printing服務(wù)生的年薪為:"+y.num());

}

打印成果為:

工人的年薪為:12023.0元

農(nóng)民的年薪為:30000.0元

教師的年薪為:/2250.。元

科學(xué)家的年薪為:156000.。元

服務(wù)生的年薪為:40800.0

7,創(chuàng)立一種復(fù)數(shù)類complex,對復(fù)數(shù)

進(jìn)行數(shù)學(xué)運算,復(fù)數(shù)具有如下格式:

RealPart+lmaginaryPart*1

其中,I為一1的平方根。

規(guī)定如下:

(1)運用浮點變量表達(dá)此類的私有數(shù)據(jù)。提供兩個構(gòu)造措施,一種用于此類申明時對象

的初始化;一種為帶默認(rèn)值得無參構(gòu)造措施。

(2)提供兩復(fù)數(shù)加、減、乘的運算措施。

(3)按格式(a,b)打印復(fù)數(shù)。其中a為實部,b為虛部。

實現(xiàn)代碼:

packagecom.softeem.zy007;

r

.創(chuàng)立一種復(fù)數(shù)類complex,對復(fù)數(shù)進(jìn)行數(shù)學(xué)運算,復(fù)數(shù)具有如下格式:RealPart+lmaginaryParCI其

中,I為一1的平方根。

.規(guī)定如下:(1)運用浮點變量表達(dá)此類的私有數(shù)據(jù)。提供兩個構(gòu)造措施,一種用于此類申明時對象的

初始化:一種為帶默認(rèn)值得無參構(gòu)造措施.

*(2)提供兩復(fù)數(shù)加、減、乘H勺運算措施。(3)按格式(a,b)打印復(fù)數(shù)。其中a為實部,b為虛部。

7

publicclassComplexNumberimplementsCloneable{

r復(fù)數(shù)的實部7

privatedoublerealPart;

r復(fù)數(shù)mj虛部7

privatedoubleimaginaryPart;

/**默認(rèn)構(gòu)造函數(shù)7

publicComplexNumber(){

this.realPart=0.0;

this.imaginaryPart=0.0;

?構(gòu)造函數(shù)

*

*@parama

*實部

*@paramb

*虛部

7

publicComplGxNumbGr{doublea,doubleb){

this.realPart=a;

this.imaginaryPart=b;

}

?復(fù)數(shù)的加法運算。c=a+b的運算法則是:c.實部=a.實部+b.實部;c.虛部=a.虛部+b.虛部

,@paramaComNum

*加數(shù)

*@return

7

publicComplexNumberadd(ComplexNumberaComNum){

if(aComNum==null){

System.err.println("對象不可以為null!");

returnnewComplexKumber();

)

returnnewComplexNumber(this.realPart+aComNum.getRealPart(),

this.imaginaryPart+aComNum.getlmaginaryPart());

)

.復(fù)數(shù)的減法運算。c=ab的運算法則是:c.實部=a.實部-b.實部;c.虛部=a.虛部-b.虛部

*@paramaComNum

?減數(shù)

,@return

7

publicComplexNumberdecrease(ComplexNumberaComNum){

if(aComNum==null){

System.e/r.println("對象不可以為null!");

returnnewComplexNumber。;

)

returnnewComplexNumber(this.realPart-aComNum.getRealPart(),

this.imaginaryPart-aComNum.getlmaginaryPart());

r

,復(fù)數(shù)的乘法運算。c=a"b的運算法則是:c.實部=a.實部*b.實部-a.虛部*b.虛部;c.虛部=a.虛

部*

*b.實部+a.實部*b.虛部;

*

*@paramaComNum

*乘數(shù)

*@return

7

publicComplexNumbermultiply(ComplexNumberaComNum){

if(aComNum==null){

System.e/r.println("對象不可以為null!");

returnnewComplexNumber。;

)

doublenewReal=this.realPart*aComNum.realPart-this.imaginaryPart

*aComNum.imagin&ryPart;

doublenewlmaginary=this.realPart*aComNum.imaginar/Part

+this.imaginaryPart*aComNum.realPart;

ComplexNumberresult=newComplexNumber(newReal,newlmaginary);

returnresult;

)

*復(fù)數(shù)的除法運算。c=a/b的運算法則是:c.實部=(a.實部*b.實部+a.虛部*b.虛部)/(b.實部

一b.實部+b.虛部*b.虛部);c.虛部=(a,虛部*b.實部-a.實部*b.虛部)/(b.實部*b.實部+

*b.虛部*b.虛部);

*

*@paramaComNum

?除數(shù)

*@return

7

publicComplexNumberdi</ide(ComplexNumberaComNum){

if(aComNum==null){

System.err.println("對象不可以為null!");

returnnewComplexNumber();

)

if((aComNum.getRealPart()==0)&&(aComNum.getlmaginaryPart()==0)){

System.e/v.println("除數(shù)不可以%0!");

returnnewComplexNumber。;

}

doubletemp=aComNum.g?tRGalPart()*aComNum.getRoalPartO

+aComNum.getlmaginaryPartO,aComNum.getlmaginaryPart();

doublecrealpart=(this.realPart*aComNum.getRealPart()+this.imaginaryPart

*aComNum.getlmaginaryPartO)

/temp;

doublecimaginaryPart=(this.imaginaryPart*aComNum.getRealPart()-this.realPart

*aComNum.getlmaginaryPartO)

/temp;

returnnewComplexNumber(crealpart,cimaginaryPart);

/**

?將?種復(fù)數(shù)顯示為字符串

*/

publicStringtoString(){

returnthis.realPart+"+"+this.imaginaryPart+"i";

)

?比較一種對象與否和這個復(fù)數(shù)對象的值相等

7

publicbooleanequals(Objectobj){

if(obj==null){

returnfalse;

}

//首先判斷a是不是一種且數(shù)對象,instances關(guān)鍵字是用來判斷對象的類型。

if(objinstanceofComplexNumber){

〃假如a是復(fù)數(shù)對象,需要將它強制類型轉(zhuǎn)換成復(fù)數(shù)對象,才能調(diào)用梵數(shù)類提供的措施。

ComplexNumberb=(ComplexNumber)obj;

if((this.realPart==b.getRealPart())

&&(this.imaginar/Part==b.getlmaginaryPart())){

returntrue;

}else{

returnfalse;

}

}else{

returnfalse;

)

)

*獲得該復(fù)數(shù)對象/、Jhash8de

7

publicinthashCode(){

//假如兩個復(fù)數(shù)對象是equalsH勺,那么它們的hashCode也必須相似。

//兩個值相等的復(fù)數(shù)對象通過toString()措施得到的輸出字符串是同樣的,

//于是,可以把得到的字符串H勺hashCode當(dāng)作復(fù)數(shù)對象的hashCode

returnthis.toString().hashCode();

}

/**

?根據(jù)既有對象克隆?種新對象

7

publicObjectclone(){

//假如你要使自定義的類可以被clone,就必須實現(xiàn)Cloneable接口并且重寫它的clone。措施.

〃假如你僅僅重寫了clone措施向沒有在類II勺申明中添加實現(xiàn)cloneable接口,調(diào)用clone措施時將

會出現(xiàn)

//CloneNotSupportedException異常,讀者可以試試。

try(

ComplexNumbernewObject=(ComplexNumber)super.clone();

newObject.setRealPart(this.realPart);

newObject.setlmaginaryPart(this.imaginaryPart);

returnnewObject;

}catch(CloneNotSupportedExceptione){

〃〃假如沒有實現(xiàn)Cloneable接口,拋出異常

e.printStackTrace();

returnnull;

}

}

/**

?@return返回imaginaryParto

7

publicdoublegetlmaginaryPart(){

returnimaginaryPart;

)

*(aiparamimaginaryPart

*要設(shè)苴的imaginayPart。

7

publicvoidsetlmaginaryPart(doubleimaginaryPart){

this.imaginaryPart=imaginaryPart;

)

L

*@return返回realParto

7

publicdoublegetRealPac(){

returnrealPart;

*@paramrealPart

*要設(shè)置的realParto

7

publicvoidsetRealPart(doublerealPart){

this.realPart=realPart;

)

publicstaticvoidmain(String[]args)throwsCloneNotSupportedException{

ComplexNumbera=newComplexNumber(3,5);

ComplexNumberb=newComplexNumber(2,4);

System.OL/tprintln("ComplexNumbera:"+a.toStringO);

Systemoutprintln("ComplexNumberb-"+btoString());

System.our.println("(a+b)="+a.add(b).toString());

System.ot/Aprintln("(a-b)="+a.decrease(b).toString());

System.OL/fprintln("(a*b)="+a.multiply(b).toString());

System.ouAprintln("(a/b)="+a.divide(b).toString());

)

8,實現(xiàn)圓類circle,包具有關(guān)的組員變

量和組員措施。從圓類派生出圓柱類

cylindero根據(jù)建立的兩個類,從鍵盤

輸入5個圓的半徑,5個圓柱的I半徑和

高度,并分別是輸出5個圓區(qū)I面積,5

個圓柱的體積

實現(xiàn)代碼:(共有三個類)

k限「

packagecom.softeem.zy008;

publicclassCircle{

privatestaticfinalfloatf=(float)Math.P/;

/**

?計算出圓的面積

7

publicfloatgetArea(floatrr){

floatarea=f*rr*rr;

returnarea;

)

,二個類:

packagecom.softeem.zy008;

publicclassCylinderextendsCircle{

publicfloatgetVolume(floatrr,floatg){

floatarea=super.getArea(rr);

floatvolume=area*g;

returnvolume;

}

性三個類(測試類):

packagecom.softeem.zy008;

importjava.util.Scanner;

publicclassTest{

publicstaticvoidmain(String[]args){

Testt=newTest();

t.Demo001();

System.ouAprintln();

t.Demo002();

)

publicvoidDemo001(){

System.ouf.printlnf計麻圓的面積:”);

System.outprintlnC請輸入5個圓的半徑(一行寫一種半徑):");

float[]f=newfloat[5];

for(Inti=0;i<=4;i++)[

Scannersc=newScsnner(System./n);

f(i]=sc.nextFloat();

}

for(inti=0;i<f.length;i++){

Circlec=newCircle();

floatarea=c.getArea;f[i]);

System.oi/tprintln("半經(jīng)務(wù)*+f[i]+叩勺圓的面積為:"+area);

publicvoidDemo002(){

System.ouf.printlnC接下來是計算圓柱的體積:");

System.oSprintlnC?請先輸入5個圓柱口勺半徑(一行寫一種):");

floatf](1=newfloat[5];

for(inti=0;i<=4;i++)[

Scannersc=newScanner(System./n);

f1[i]=sc.nextFloat();

)

System.?!?printin("請再分別輸入5個圓柱對應(yīng)的高度(一行寫一種

float[]12=newfloat[5];

for(inti=0;i4;i++)(

Scannersc=newScsnner(System./n);

f2[i]=sc.nextFloat();

}

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

Cylinderc=newCylinder();

floatvolume=c.getVolume(f1[i],f2[i]);

System.ouf.println("半經(jīng)為31。]+”,高為"+f2[i]+"的圓柱的體積為:[volume);

)

}

9.輸入一種整數(shù),求這個整數(shù)中每位數(shù)

字相加的和

實現(xiàn)代碼:

packagecom.softeem.zy009;

importjava.util.Scanner;

r

?輸入一?種整數(shù),求這個整數(shù)中每位數(shù)字相加的和

*/

publicclassTestOOI{

publicstaticvoidmain(String[]args){

System.o”.println("請輸入一種整數(shù):");

Scannersc=newScanner(System./n);

Strings=sc.nextLine();

intsum=0;

for(inti=0;i<s.length();i++){

sum=sum+lnteaer3rse/cf(s.va/ueO/(s.charAt(i)));

)

System.outprintln("您輸入的整數(shù)是:"+s);

System.?!?printin("各位數(shù)字相加的和為:"+sum);

)

10.編寫一種java應(yīng)用程序,規(guī)定如下

(1)申明一種String類口勺變量并初始化值“HelloWorld”。

(2)用字符串類的一種措施將上面變量口勺值拆提成"Hello”和“World”兩個字符串并打印輸

出。

(3)將”Hell。”這個變量轉(zhuǎn)換成大寫、“World”轉(zhuǎn)換成小寫并打印輸出。

(4)申明一種String類的變量并初始化值“20230110”。

(5)將上面變量時值轉(zhuǎn)換成2010年1月10日的形式打印輸出。

實現(xiàn)代碼:

publicclassTestOOI{

publicstaticfinalStringstr1="HelloWorld";

publicstaticfinalStringstr2="20230110";

publicstaticvoidmain(String[]args){

TestOOIt=newTestOO1();

t.Demo();

}

publicvoidDemo(){

String口s=sfrfsplit("");

System.outprintlnf*標(biāo)分后為:"+s[0]+"、"+s[1]);

System.o"println(s⑼+"轉(zhuǎn)換成大官之后為:"+s[0].toUpperCase());

System.ouf.println(s[1]+"轉(zhuǎn)換成小寫之后為:"+s[1].toLowerCase());

SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-dd");

System.ot/f.println(sfr2substring(0,4)+“年"+sfr2.subsMng(4,6)+"月"+sf「2.substring⑹+"曰");

)

11.求s=1+3+5+7+…直到s>2023為止

實現(xiàn)代碼:

publicclassTestOOI{

publicstaticvoidmain(String[]args){

intsum=0;

for(inti=1;;i=i+2){

sum=sum+i;

System.ouAprintln(sum);

if(sum>2023){

break;

)

)

System."1.printing程序停止:和已經(jīng)不小于2023了");

)

12,計算s=2!+4!+8!+11!。(首先先定

義一種函數(shù),函數(shù)的功能就是求任何一

種數(shù)時階乘)

實現(xiàn)代碼:

publicclassTestOOI{

publicstaticvoidmain(String[]args){

TestOOIt=newTestOO1();

intsum=

tgetJieCheng(2)+t.getJieCheng(2)+t.getJieCheng⑷+t.getJieCheng(8)+t.getJieCheng(11);

System.o^.println("2!+4!+8!+11!="+sum);

)

〃求任何一種數(shù)的階乘

publicintgetJieCheng(intm){

intf=1;

for(inti=1;i<=m;i++){

f=i*f;

}

returnf;

13.求200到400間,能被3整除但不

能被7整除時數(shù)的個數(shù)

實現(xiàn)代碼:

publicclassTestOOI{

publicstaticvoidmain(String[]args){

intcount=0;

System.ouf.printlnf?能被3整除但不能被7整除的數(shù)有:”);

for(inti=200;i<=400;i++){

if(i%3==0&&i%7(=0){

System.outprint(i+"");

count++;

}

}

System.OL/f.println();

System.?!?print("能被3整除但不能被7整除H勺數(shù)的個數(shù)有"+count+"個)

)

14.求能被3整除且至少有一位數(shù)字為

5時三位數(shù)的個數(shù)

實現(xiàn)代碼:

importjava.util.ArrayList;

importjava.util.List;

publicclassTestOOI{

publicstaticvoidmain(String[]args){

intcount=0;

List<lnteger>li=newArrayList<lnteger>();

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

li.add(i);

}

System.ouf.printlnf?能被3整除且至少有一位數(shù)才為5的三位數(shù)行;");

for(inti=100;i<li.sizei);i++){

if(li.get(i)%3==0){

if(li.get(i).toString().substring(2).equals("5")

||li.get(i).toString().substring(1,2).equals("5")

IIli.get(0).toStrirg().substring^,1).equals(M5")){

System.ouf.print(li.get(i)+"

count++;

}

System.ouAprintln("\r\n能被3整除且至少有一位數(shù)字為5的三位數(shù)的個數(shù)有"+count+"個)

}

打印成果為:

能被3整除且至少有一位數(shù)字為5的三位數(shù)有:

225252255258285315345351354357375405435450453456459465495525552555558

585615645651654657675705735750753756759765795825852855858885915945951

954957975

能被3整除旦至少有一位數(shù)字為5的三位數(shù)的個數(shù)有49個

15.求三位奇數(shù)中,個位數(shù)字與十位數(shù)

字之和除以10所得的余數(shù)是百位數(shù)字

時數(shù)的個數(shù)

實現(xiàn)代碼:

publicclassTestOOI{

publicstaticvoidmain(String[]args){

intcount=0;

inta=0,aa=O,aaa=0;

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

if(i%2==1){

a=i%10H個位

aa=(i/10)%10;//i(i

aaa=(i/10)/10;〃百位

if(aaa==((a+aa)%13)){

count++;

}

)

}

System.ot/f.println("所求個數(shù)為:"+count+"個

)

16.解百馬百瓦古題。

大、小馬和馬駒共100匹,共馱100片瓦。大馬一馱三,小馬一馱二,馬駒二馱一,--次

馱完,三種馬都馱,共有多少種組合?

實現(xiàn)代碼:

publicclassTestOOI{

publicstaticvoidmain(String[]args){

for(inti=1;i<=98;i++){

for(intj=1;j<=98;j++)[

for(intk=1;k<=98;k++){

if(i+j+k==100&&k%2==0&&i*3+j*2+k/2*1==100){

System.o".println("大馬?i+"小馬:"+j+"馬駒:"+K+"");

)

)

)

}

}

17.求100-200之間的所有素數(shù)

實現(xiàn)代碼:

publicclassTestOOI{

publicstaticvoidmain(String[]args){

TestOOIs=newTestOOI();

s.Methodi();

)

〃判斷101-200之間有多少個素數(shù),并輸出所有素數(shù)

publicvoidMethodi(){

intcount=0;

System.outprintln(-100-200之間的素數(shù)有:”);

for(inti=1O1;i<=200;i++){

booleanflag=true;

for(intj=2;j<=Math.sqrt(i);j++){

if(i%j==0){

flag=false;

break;

)

}

if(flag){

count++;

System.oi/tprint(i+'

}

)

System.OL/Aprintln(M\n共芍"+count+”個)

18.輸出水仙花的個數(shù)

(所謂水仙花數(shù)是指一種三位十進(jìn)制數(shù),該數(shù)的各位數(shù)字立方之和等于該數(shù)自身。例如

153是一種水仙花數(shù),由于1人3+5人3+3人3=153)

實現(xiàn)代碼:

publicclassTestOOI{

staticintb,bb,bbb;

publicstaticvoidmain(String[]args){

System.ouf.println("水仙花數(shù)有:");

intcount=0;

for(intnum=101;num<1000;num++){

bbb=num/100;

bb=(num%100)/10;

(num%100)%10;

if(bbb*bbb*bbb+bb*bb*bb+b*b*b==num){

count++;

System.ourprintln(num);

}

)

System.?!?printin("共有,+count+"個");

19.猴子摘桃問題

猴子第1天摘下若干桃子,當(dāng)即吃掉二分之一,又多吃一種,第二天將剩余的部分吃掉二

分之一還多一種;以此類推,到第10天只剩余1個。問第1天共摘了多少桃子

實現(xiàn)代碼:

publicclassTestOOI{

publicstaticvoidmain(String[]args){

inta=1力第十個月的桃了?個數(shù)

intb=10;//用b-1來農(nóng)達(dá)所通過的月數(shù)

for(inti=b-1;i>=1;i-){

a=(a+1)*2;

)

System."1.print("第一天共摘j'"+a+"個桃子");

)

}//打印成果為:第一天共摘了1534個桃子

20.一種兩位數(shù)的正整數(shù),假如將其個

位數(shù)與十位數(shù)字對調(diào)所生成時數(shù)稱為其

對調(diào)數(shù),如28是82時對調(diào)數(shù)?,F(xiàn)給定

一種兩位的正整數(shù)46,請找到另一種

兩位的整數(shù),使這兩個數(shù)之和等于它們

時各自的對調(diào)數(shù)之和。這樣的另一種兩

位數(shù)有多少個。

實現(xiàn)代碼:

publicclassTestOOI{

staticintdemo=46;

publicstaticvoidmain(String[]args){

intdemoSum=(demo/10)+(demo%10)*10;

intcount=0;

System.ouf.printlnf?這樣向兩位數(shù)有:");

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

intshi=i/10;

intge=(i%10)*10;

intsum=shi+ge;

if((demo+i)==(demoSum+sum)){

count++;

System.ouf.print(i+"');

)

)

System.outprintln("\r\n共有"+count+"個");

)

21.求1?200之間時能被7整除的數(shù)

的平方和

實現(xiàn)代碼:

publicclassTestOOI{

publicstaticvoidmain(String[]args){

intsum=0;

for(inti=1;i<=200;i++){

if(i%7==0){

sum=sum+(i*i);

)

)

System.ourprintln("1-200之間口勺能被7整除的數(shù)口勺平方和="+sum);

)

22.求1~99的平方根的和并輸出成

果。(保留小數(shù)點兩位)

實現(xiàn)代碼:

publicclassTestOOI{

publicstaticvoidmain(String[]args){

doublesum=0;

for(inti=1;i<=99;i++){

sum=sum+Math.sqrt(i);

)

System.ot/Aprintln("1~99小J平方根/、J和"+sum);

)

23.求[351,432]之間既不能被3整除,

也不能被8整除的正整數(shù)的個數(shù)

實現(xiàn)代碼:

publicclassTestOOI{

publicstaticvoidmain(String[]args){

intcount=0;

System.o”.primin("[351,432]之間既不能被3整除,也不能被8整除H勺正整數(shù)有:");

for(inti=351;i<=432;i++){

if(i%3!=0&&i%8!=0){

count++;

System.ouf.print(i+"');

)

)

System.ouf.println("\r\n共有:"+count+"個");

}

24.已知24有8個正整數(shù)因子

(即:1,2,3,4,6,8,12,24),而24恰好被其因子個數(shù)8整除。問[100,300]之間有多少個這樣

日勺數(shù)。

實現(xiàn)代碼:

mportjava.util.ArrayList;

importjava.util.List;

publicclassTestOOI{

publicstaticvoidmain(String[]args){

intk;

intflag=0;

intsize=0;

System.ouf.println(R00,300]之間符合題意的正整數(shù)有:");

for(intn=100;n<=300;n++){

List<lnteger>list=newArrayList<lnteger>();

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

if(n%i==0){

l

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論