习题16.docx
- 文档编号:9538803
- 上传时间:2023-02-05
- 格式:DOCX
- 页数:31
- 大小:20.82KB
习题16.docx
《习题16.docx》由会员分享,可在线阅读,更多相关《习题16.docx(31页珍藏版)》请在冰豆网上搜索。
习题16
第一章
【基础】
1,D
2,B
3,A
4,AllmansKernighan
5,编辑源程序$编译生成字节码$解释运行字节码
【应用】
1,Java平台由JVM和JavaAPI组成。
其中JVM为Java虚拟机,它类似于可运行Java程序的抽象计算机,而JavaAPI是已编译的可在任何Java程序中使用的代码库(即Java类库),它们作为可定制的现成功能可以随时添加到Java【应用】程序中,以节约编程时间,实现代码复用。
2,publicclassC1_P4{//类名
publicstaticvoidmain(Stringargs[]){
System.out.println("mynameistom");//输出语句,输出"mynameistom
}
}
第二章
【基础】
1.A
2.C
3.
4.B
【应用】
1,
(1)true
(2)false
(3)false
(4)true
2,
(1)20.0
(2)13
(3)158.0
(4)0
(5)false
3,
(1)
importjava.util.Scanner;
publicclassExample{
publicstaticvoidmain(String[]args){
System.out.println("pleaseinputyoursalesAmount:
");
ScannerI=newScanner(System.in);
doublesalesAmount=I.nextDouble();
doublecommission;
if(salesAmount>=10001)
commission=5000*0.08+5000*0.1+(salesAmount-10000)*0.12;
elseif(salesAmount>=5001)
commission=5000*0.08+(salesAmount-5000)*0.1;
else
commission=salesAmount*0.08;
System.out.println(commission);
}
}
(2)
importjava.util.Scanner;
publicclassExample{
publicstaticvoidmain(String[]args){
System.out.println("pleaseinputyournumber:
");
ScannerI=newScanner(System.in);
doublea=I.nextDouble();
doubleb=I.nextDouble();
doublec=I.nextDouble();
if(a+b>c&&a+c>b&&b+c>a)
{
System.out.println("可以构成三角形\n");
if(a==b&&a==c)System.out.println("等边三角形");
elseif(a==b||a==c||b==c)System.out.println("等腰三角形");
elseif(a*a+b*b==c*c)System.out.println("直角三角形");
}
else
System.out.println("不可以构成三角形");
}
}
【探索】
1,publicclassExample{
/**
*@paramargs
*/
publicstaticvoidmain(String[]args){
//TODOAuto-generatedmethodstub
for(inti=0;i<5;i++){
for(intj=0;j<5;j++){
if(j==2&&(i==0||i==4)){
System.out.print("*");
}elseif((i==1||i==3)&&0 System.out.print("*"); }elseif(i==2){ System.out.print("*"); } else{ System.out.print(""); } } System.out.println(); } } } 2,publicclassExample{ publicstaticvoidmain(String[]args){ for(introw=0;row<=7;row++) { for(intcolumn=1;column<=7-row;column++) { System.out.print(""); } for(intcolumn=1;column<=row+1;column++) { System.out.print(""+column); } for(intcolumn=row;column>0;column--) { System.out.print(""+column); } System.out.println(); } } } 第三章 【基础】 1,D 2,A 3,封装,继承,多态 4,为了更好地组织类,Java提供了包机制。 包是类的容器,用于分隔类名空间。 如果没有指定包名,所有的示例都属于一个默认的无名包。 Java中的包一般均包含相关的类,例如,所有关于交通工具的类都可以放到名为Transportation的包中。 如上所述,更好的组织类,防止在一个空间下出现类重名啊这些情况;表明类之间的层次关系。 5,this代表的是当前对象,可以是当前对象的方法、变量。 super代表的是父类,说白了就是在子类中通过super关键字来调用父类的东西 【应用】 1, classStudent{ privateStringname; privateintstuId; privatefloatscore; publicStringgetName(){ returnname; } publicvoidsetName(Stringname){ this.name=name; } publicintgetStuId(){ returnstuId; } publicvoidsetStuId(intstuId){ this.stuId=stuId; } publicfloatgetScore(){ returnscore; } publicvoidsetScore(floatscore){ this.score=score; } publicvoidshowInfo(){ System.out.println("Student[name="+name+",stuId="+stuId+",score="+score+"]"); } } importjava.util.Scanner; publicclassExample{ publicstaticvoidmain(String[]args){ ScannerI=newScanner(System.in); Studentstr=newStudent(); System.out.println("请输入姓名"); str.setName(I.next()); System.out.println("请输入学号"); str.setStuId(I.nextInt()); System.out.println("请输入成绩"); str.setScore(I.nextFloat()); str.showInfo(); } } 2, classRectangle { privateDoubleWidth; publicDoubleLength; publicDoublegetWidth(){ returnWidth; } publicvoidsetWidth(Doublewidth){ if(width>0.0&&width<20.0) Width=width; else System.out.println("不为0.0到20.0的浮点数"); } publicDoublegetLength(){ returnLength; } publicvoidsetLength(Doublelength){ if(length>0.0&&length<20.0) Length=length; else System.out.println("不为0.0到20.0的浮点数"); } publicDoublePerimeter() { return2*(Length+Width); } publicDoubleArea() { returnLength*Width; } } importjava.util.Scanner; publicclassExample{ publicstaticvoidmain(String[]args){ RectangleR=newRectangle(); ScannerI=newScanner(System.in); System.out.println("请输入长方形的长"); R.setLength(I.nextDouble()); System.out.println("请输入长方形的宽"); R.setWidth(I.nextDouble()); System.out.println("长方形的面积"); System.out.println(R.Area()); System.out.println("长方形的周长"); System.out.println(R.Perimeter()); } } 第四章 【基础】 1,D 2,C 3,A 4,D 5,B 【应用】 1, /** *账户类。 * *@authorCodingMouse *@version1.0 */ publicabstractclassAccount{protectedStringaccountNumber;//账号 protecteddoubleoverage;//余额 protecteddoubleannualInterestRate;//年利率 /** *参数化构造器方法。 * *用于开户。 *@paramaccountNumber预设账号 *@paramoverage初始余额 *@paramannualInterestRate预设年利率 */ publicAccount(StringaccountNumber,doubleoverage,doubleannualInterestRate){ super(); //设定账号。 this.accountNumber=accountNumber; //设定初始余额,至少为零。 this.overage=overage>=0? overage: 0; //设定年利率,至少为零。 this.annualInterestRate=annualInterestRate>=0? annualInterestRate: 0; } /** *查询账号。 *@return返回账号。 */ publicStringgetAccountNumber(){ returnthis.accountNumber; } /** *设置账号。 *@paramaccountNumber新账号。 */ publicvoidsetAccountNumber(StringaccountNumber){ this.accountNumber=accountNumber; }/** *查询余额方法。 *@return返回账户余额。 */ publicdoublegetOverage(){ returnthis.overage; }/** *存款方法。 *@parammoney要存入的金额。 *@return返回true时存款成功,否则存款失败。 */ publicbooleandepositMoney(doublemoney){ //如果金额小于零,则不能存款 if(money<=0) returnfalse; //否则将相应的金额累加到账户余额中 this.overage+=money; returntrue; } /** *取款方法。 * *默认不能透支。 *@parammoney要取出的金额。 *@return返回true时取款成功,否则取款失败。 */ publicbooleandrawMoney(doublemoney){ //如果账户余额不足,则不能取款 if(this.overage returnfalse; //否则从账户余额中扣除相应的金额 this.overage-=money; returntrue; }/** *查询年利率。 *@return返回年利率。 */ publicdoublegetAnnualInterestRate(){ returnthis.annualInterestRate; }/** *设置年利率。 *@paramannualInterestRate新的年利率。 */ publicvoidsetAnnualInterestRate(doubleannualInterestRate){ this.annualInterestRate=annualInterestRate; } } -------------------------------------------------- /** *借记卡账户。 * *不能透支。 *@authorCodingMouse *@version1.0 */ publicclassDebitCardAccountextendsAccount{/** *重写父类构造器。 *@paramaccountNumber预设账号 *@paramoverage初始余额 *@paramannualInterestRate预设年利率 */ publicDebitCardAccount(StringaccountNumber,doubleoverage, doubleannualInterestRate){ super(accountNumber,overage,annualInterestRate); }} ------------------------------------------------- /** *信用卡账户。 * *可以透支。 *@authorCodingMouse *@version1.0 */ publicclassCreditCardAccountextendsAccount{privatedoubleoverdraftLimit;//透支限度 /** *重载构造器。 * *便于构建可透支的信用卡账户实例。 *@paramaccountNumber预设账号 *@paramoverage初始余额 *@paramannualInterestRate预设年利率 *@paramoverdraftLimit透支限度 */ publicCreditCardAccount(StringaccountNumber,doubleoverage, doubleannualInterestRate,doubleoverdraftLimit){ super(accountNumber,overage,annualInterestRate); this.overdraftLimit=overdraftLimit; }/** *查询透支限度的方法。 *@return透支限度金额。 */ publicdoublegetOverdraftLimit(){ returnthis.overdraftLimit; }/** *设置透支限度的方法。 *@paramoverdraftLimit新的透支限度金额。 */ publicvoidsetOverdraftLimit(doubleoverdraftLimit){ //透支限度必须为零和正数,否则为零。 this.overdraftLimit=overdraftLimit>=0? overdraftLimit: 0; }/** *重写父类构造器。 *@paramaccountNumber预设账号 *@paramoverage初始余额 *@paramannualInterestRate预设年利率 */ publicCreditCardAccount(StringaccountNumber,doubleoverage, doubleannualInterestRate){ super(accountNumber,overage,annualInterestRate); }/** *重写父类取款方法。 * *将默认不能透支的取款改为可以透支的取款。 *@parammoney要取出的金额。 *@return返回true时取款成功,否则取款失败。 */ @Override publicbooleandrawMoney(doublemoney){ //如果账户余额+透支限度的总金额仍不足,则不能取款 if(this.overage+this.overdraftLimit returnfalse; //否则从账户余额中扣除相应的金额 this.overage-=money; returntrue; }} ------------------------------------------ /** *测试账户使用。 * *@authorCodingMouse *@version1.0 */ publicclassTest{/** *主程序方法。 *@paramargs入口参数。 */ publicstaticvoidmain(String[]args){ //创建一个不能透支的借记卡账户。 System.out.println("------------借记卡账户------------"); DebitCardAccountdebitCardAccount=newDebitCardAccount("CHK20100117001",100,0.02); //初始余额有100元,调用并打印取90元和取120元的结果。 System.out.println("取90元的结果: "+debitCardAccount.drawMoney(90)); //重新存入90元 debitCardAccount.depositMoney(90); System.out.println("取120元的结果: "+debitCardAccount.drawMoney(120)); //创建一个可以透支的信用卡账户。 System.out.println("------------信用卡账户------------"); CreditCardAccountcrebitCardAccount=newCreditCardAccount("CHK20100117002",100,0.03,50); //初始余额有100元,并且透支限度为50元,调用并打印取90元、取120元和取160元的结果。 System.out.println("取90元的结果: "+crebitCardAccount.drawMoney(90)); //重新存入90元 crebitCardAccount.depositMoney(90); System.out.println("取120元的结果: "+crebitCardAccount.drawMoney(120)); //重新存入120元 crebitCardAccount.depositMoney(120); System.out.println("取160元的结果: "+crebitCardAccount.drawMoney(160)); } } 2, classVehicle{ privateintwheels; privatefloatweight; protectedVehicle(intwheels,floatweight){ this.wheels=wheels; this.weight=weight; } publicintgetWheels(){ returnwheels; } publicfloatgetWeight(){ returnweight; } publicvoidprint(){ System.out.println
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 习题 16