《Java语言程序设计基础篇》第10版 梁勇 著第十章练习题答案.docx

上传人:b****5 文档编号:4503124 上传时间:2022-12-01 格式:DOCX 页数:56 大小:28.77KB
下载 相关 举报
《Java语言程序设计基础篇》第10版 梁勇 著第十章练习题答案.docx_第1页
第1页 / 共56页
《Java语言程序设计基础篇》第10版 梁勇 著第十章练习题答案.docx_第2页
第2页 / 共56页
《Java语言程序设计基础篇》第10版 梁勇 著第十章练习题答案.docx_第3页
第3页 / 共56页
《Java语言程序设计基础篇》第10版 梁勇 著第十章练习题答案.docx_第4页
第4页 / 共56页
《Java语言程序设计基础篇》第10版 梁勇 著第十章练习题答案.docx_第5页
第5页 / 共56页
点击查看更多>>
下载资源
资源描述

《Java语言程序设计基础篇》第10版 梁勇 著第十章练习题答案.docx

《《Java语言程序设计基础篇》第10版 梁勇 著第十章练习题答案.docx》由会员分享,可在线阅读,更多相关《《Java语言程序设计基础篇》第10版 梁勇 著第十章练习题答案.docx(56页珍藏版)》请在冰豆网上搜索。

《Java语言程序设计基础篇》第10版 梁勇 著第十章练习题答案.docx

《Java语言程序设计基础篇》第10版梁勇著第十章练习题答案

《Java语言程序设计(基础篇)》(第10版梁勇著)

第十章练习题答案

10.1

publicclassExercise10_01{

publicstaticvoidmain(String[]args){

Timetime1=newTime();

System.out.println("Hour:

"+time1.getHour()+"Minute:

"+

time1.getMinute()+"Second:

"+time1.getSecond());

Timetime2=newTime(555550000);

System.out.println("Hour:

"+time2.getHour()+"Minute:

"+

time2.getMinute()+"Second:

"+time2.getSecond());

}

}

classTime{

privateinthour;

privateintminute;

privateintsecond;

publicTime(){

this(System.currentTimeMillis());

}

publicTime(longelapsedTime){

setTime(elapsedTime);

}

publicTime(inthour,intminute,intsecond){

this.hour=hour;

this.minute=minute;

this.second=second;

}

publicintgetHour(){

returnhour;

}

publicintgetMinute(){

returnminute;

}

publicintgetSecond(){

returnsecond;

}

publicvoidsetTime(longelapsedTime){

//Obtainthetotalsecondssincethemidnight,Jan1,1970

longtotalSeconds=elapsedTime/1000;

//Computethecurrentsecondintheminuteinthehour

second=(int)(totalSeconds%60);

//Obtainthetotalminutes

longtotalMinutes=totalSeconds/60;

//Computethecurrentminuteinthehour

minute=(int)(totalMinutes%60);

//Obtainthetotalhours

inttotalHours=(int)(totalMinutes/60);

//Computethecurrenthour

hour=(int)(totalHours%24);

}

}

10.2

publicclassExercise10_02{

publicstaticvoidmain(String[]args){

BMIbmi1=newBMI("JohnDoe",18,145,5,10);

System.out.println("TheBMIfor"+bmi1.getName()+"is"

+bmi1.getBMI()+""+bmi1.getStatus());

BMIbmi2=newBMI("PeterKing",215,5,10);

System.out.println("TheBMIfor"+bmi2.getName()+"is"

+bmi2.getBMI()+""+bmi2.getStatus());

}

staticclassBMI{

privateStringname;

privateintage;

privatedoubleweight;//inpounds

privatedoubleheight;//ininches

publicfinaldoubleKILOGRAMS_PER_POUND=0.45359237;

publicfinaldoubleMETERS_PER_INCH=0.0254;

/**ConstructaBMIwiththespecifiedname,age,weight,

*feetandinches

*/

publicBMI(Stringname,intage,doubleweight,doublefeet,doubleinches){

this.name=name;

this.age=age;

this.weight=weight;

this.height=feet*12+inches;

}

publicBMI(Stringname,intage,doubleweight,doubleheight){

this.name=name;

this.age=age;

this.weight=weight;

this.height=height;

}

publicBMI(Stringname,doubleweight,doubleheight){

this(name,20,weight,height);

}

publicdoublegetBMI(){

doublebmi=weight*KILOGRAMS_PER_POUND/

((height*METERS_PER_INCH)*(height*METERS_PER_INCH));

returnMath.round(bmi*100)/100.0;

}

publicStringgetStatus(){

doublebmi=getBMI();

if(bmi<16)

return"seriouslyunderweight";

elseif(bmi<18)

return"underweight";

elseif(bmi<24)

return"normalweight";

elseif(bmi<29)

return"overweight";

elseif(bmi<35)

return"seriouslyoverweight";

else

return"gravelyoverweight";

}

publicStringgetName(){

returnname;

}

publicintgetAge(){

returnage;

}

publicdoublegetWeight(){

returnweight;

}

publicdoublegetHeight(){

returnheight;

}

}

}

 

10.3

publicclassExercise10_03{

publicstaticvoidmain(String[]args){

MyIntegern1=newMyInteger(5);

System.out.println("n1iseven?

"+n1.isEven());

System.out.println("n1isprime?

"+n1.isPrime());

System.out.println("15isprime?

"+MyInteger.isPrime(15));

char[]chars={'3','5','3','9'};

System.out.println(MyInteger.parseInt(chars));

Strings="3539";

System.out.println(MyInteger.parseInt(s));

MyIntegern2=newMyInteger(24);

System.out.println("n2isodd?

"+n2.isOdd());

System.out.println("45isodd?

"+MyInteger.isOdd(45));

System.out.println("n1isequalton2?

"+n1.equals(n2));

System.out.println("n1isequalto5?

"+n1.equals(5));

}

}

classMyInteger{

privateintvalue;

publicintgetValue(){

returnvalue;

}

publicMyInteger(intvalue){

this.value=value;

}

publicbooleanisPrime(){

returnisPrime(value);

}

publicstaticbooleanisPrime(intnum){

if((num==1)||(num==2)){

returntrue;

}

for(inti=2;i<=num/2;i++){

if(num%i==0){

returnfalse;

}

}

returntrue;

}

publicstaticbooleanisPrime(MyIntegero){

returnisPrime(o.getValue());

}

publicbooleanisEven(){

returnisEven(value);

}

publicbooleanisOdd(){

returnisOdd(value);

}

publicstaticbooleanisEven(intn){

returnn%2==0;

}

publicstaticbooleanisOdd(intn){

returnn%2!

=0;

}

publicstaticbooleanisEven(MyIntegern){

returnisEven(n.getValue());

}

publicbooleanequals(intanotherNum){

returnvalue==anotherNum;

}

publicbooleanequals(MyIntegero){

returnvalue==o.getValue();

}

publicstaticintparseInt(char[]numbers){

//numbersconsistsofdigitcharacters.

//Forexample,ifnumbersis{'1','2','5'},thereturnvalue

//shouldbe125.Pleasenotethat

//numbers[0]is'1'

//numbers[1]is'2'

//numbers[2]is'5'

intresult=0;

for(inti=0;i

result=result*10+(numbers[i]-'0');

}

returnresult;

}

//YoumaymentionthiswhenyoucoveredCh8

publicstaticintparseInt(Strings){

//sconsistsofdigitcharacters.

//Forexample,ifsis"125",thereturnvalue

//shouldbe125.

intresult=0;

for(inti=0;i

result=result*10+(s.charAt(i)-'0');

}

returnresult;

}

}

10.4

publicclassExercise10_04{

publicstaticvoidmain(String[]args){

MyPointp1=newMyPoint();

MyPointp2=newMyPoint(10,30.5);

System.out.println(p1.distance(p2));

System.out.println(MyPoint.distance(p1,p2));

}

}

classMyPoint{

privatedoublex;

privatedoubley;

publicMyPoint(){

}

publicMyPoint(doublex,doubley){

this.x=x;

this.y=y;

}

publicdoubledistance(MyPointsecondPoint){

returndistance(this,secondPoint);

}

publicstaticdoubledistance(MyPointp1,MyPointp2){

returnMath.sqrt((p1.x-p2.x)*(p1.x-p2.x)+(p1.y-p2.y)

*(p1.y-p2.y));

}

publicdoublegetX(){

returnx;

}

publicdoublegetY(){

returny;

}

}

10.5

publicclassExercise10_05{

publicstaticvoidmain(String[]args){

StackOfIntegersstack=newStackOfIntegers

(2);

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

//Prompttheusertoenteraninteger

System.out.print("Enteraninteger:

");

//Convertstringtoint

intnumber=input.nextInt();

System.out.println("Thefactorsfor"+number+"is");

//Findandstoreallthesmallestfactorsoftheinteger

intfactor=2;

while(factor<=number){

if(number%factor==0){

number=number/factor;

stack.push(factor);

}

else{

factor++;

}

}

//Displayfactors

while(!

stack.empty()){

System.out.print(stack.pop()+"");

}

}

}

 

10.6

publicclassExercise10_06{

publicstaticvoidmain(String[]args){

finalintLIMIT=120;

intcount=0;

StackOfIntegersstack=newStackOfIntegers();

//Repeatedlyfindprimenumbers

for(intnumber=2;number

if(isPrime(number)){

stack.push(number);

count++;//Increasetheprimenumbercount

}

//Printthefirst30primenumbersindecreasingorder

System.out.println("Theprimenumberslessthan120are\n");

finalintNUMBER_PER_LINE=10;

while(!

stack.empty()){

System.out.print(stack.pop()+"");

if(stack.getSize()%NUMBER_PER_LINE==0)

System.out.println();//advancetothenewline

}

}

publicstaticbooleanisPrime(intnumber){

//Assumethenumberisprime

booleanisPrime=true;

//Exercise03_21ifnumberisprime

for(intdivisor=2;divisor<=number/2;divisor++){

//Iftrue,thenumberisnotprime

if(number%divisor==0){

//SetisPrimetofalse,ifthenumberisnotprime

isPrime=false;

break;//Exittheforloop

}

}

returnisPrime;

}

}

 

10.7

publicclassExercise10_07{

//Createtenaccounts

privateAccount[]accounts=newAccount[10];

publicExercise10_07(){

for(inti=0;i

accounts[i]=newAccount();

accounts[i].setId(i);

accounts[i].setBalance(100);

}

continueATM:

while(true){

System.out.print("Enteranid:

");

id=input.nextInt();

if(id<1||id>10){

System.out.println("Pleaseenteracorrectid");

continue;

}

while(true){

intchoice=getAChoice();

switch(choice){

case1:

System.out.println("Thebalanceis"+

accounts[id].getBalance());

break;

case2:

withdraw();

break;

case3:

deposit();

break;

case4:

//Youcanrewritethecodewithoutusingthecontinue.

//Todoso,introduceabooleanvariabletocontrolone

//customersession

continuecontinueATM;

}

}

}

}

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

intid;

publicstaticvoidmain(String[]args){

newExercise10_07();

}

publicvoidwithdraw(){

System.out.print("Enteranamounttowithdraw:

");

intamount=input.nextInt();

if(amount<=accounts[id].getBalance()){

accounts[id].withdraw(amount);

}

else{

System.out.print("Theamountistoolarge,ignored");

}

}

publicvoiddeposit(){

System.out.print("Enteranamounttodeposit:

");

intamount=input.nextInt();

if(amount>=0){

accounts[id].deposit(amount);

}

else{

System.out.print("Theamountisnegative,ignored");

}

}

publicintgetAChoice(){

intchoice;

while(true){

System.out.println("\nMainmenu");

System.out.println("1:

checkbalance");

System.out.println("2:

withdr

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

当前位置:首页 > 高中教育 > 高中教育

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

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