《Java程序设计教程(第2版)课后习题及答案02课后习题.docx》由会员分享,可在线阅读,更多相关《Java程序设计教程(第2版)课后习题及答案02课后习题.docx(4页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1 .下列哪些是合法的标识符?applet, Applet, a+, -a, $7, 3com, #99, xyz, a_ll, _67答:applet, Applet, $7, xyz, a_ll, _672 .下列哪些是Java关键字?class, public, main, null, Boolean, Scanner, System, in答:class, public3 .设int a = 2和double d = 1.0,下列每个表达式的计算结果是多少?a = 47/9;a = 46 % 9 +4 * 4 - 2;a = 45 + 43 % 5 * (23 * 3 %2);a %=
2、 3 / a + 3;d -= 15 * 3 + a+;答:a = 47/9;9a = 46%9+4 *4 -2;15a = 45+43 % 5* (23*3%2) ;48a %= 3/a+ 3;2d -= 1.5*3 + a+;-8.54 .下面表达式运算结果是多少?56 % 6,78 % -4, -34 % 5, -37 % 5,0 % 7答:56 % 6=2, 78 % -4=2, -34 % 5=-4, -37 % -5=-2, 0 % 7=05 .将下面的数学表达式改写成Java表达式。4 c/ 3 + ( + 6) 9(ab + c) + 3(r + 33)a-bc答:4/(3*(
3、r+33)-9*(a*b+c)+(3+d*(a+6)/(a+b*c)6 .判断下列说法正确与否。(1)任何表达式都可以当作语句。(2)语句a = b = c = 0是非法的。(3) a = 1, b = a, c = b是合法表达式。(4)用圆括号括起需要优先计算的子表达式使程序可读性好。答:(1)错误,(2)错误,(3)正确,(4)正确7 .类名、方法名、常量和变量名的命名习惯是什么?答:命名规则:命名由字母、数字、下划线、美元符号($)构成。命名不可以数字作为开头。长度无限制,但不可存在空格。大小写所表述内容含义不同。命名不可与Java关键字相同。具体例子:类和接口:每个单词首字母大写。例
4、:Hello World o常量:均采用大写,例:SIZE_Nameo方法和变量:采用驼峰式,除单词其他单词均大写。例:getNameo包:均采用小写。例:test。8 .编辑运行下面程序,记录编辑和编译过程中IDE或编译器报告的语法错误。I第2章 基本数据类型、运算符与表达式public class Exercise2_8 ( -public static void main(String args) (i = 10;System.out.printIn (i + 4);)答:Cannot resolve symbol 1i ,9 .编辑运行下面程序,记录编辑和编译过程中IDE或编译器报告的
5、语法错误。public class Exercise2_9( public static void main(String args) (/sum3 equals to numl plus num2int numl = 10;int num2 = 20;int num3 = 0;num3 += numl +nuum2;System.out.printin(nSum= + num3); )答:Cannot resolve symbol 1nuum2110 .分析并改正代码错误,并上机验证。public class Exercise2_10( 一public void main(string ar
6、gs) (int numl ;int num2 = 120.0;int num3 = numl + 10;System.out.printIn(nnum3 isn + num3 + ” and num2 is + num2);)答:public class Exercise2_10( public void main(String args)int numl=0 ;int num2 = 120;int num3 = numl + 10;System.out.printIn (nnum3 isn + num3 + ” and num2 is ” + num2); ) )H.分析下面程序的执行结果
7、是什么(体会算符人的作用)。public class Exercise2_ll( public void main(string args) (int a = 2,5,4,6,3,2,1,4,6,3,1;int num = 0;for(int k=0;ka,length;k+ + ) num=numAakSystem.out.printIn(nnum is + num);第2章 基本数据类型运算符与表达式答:num is 512.项目练习:计算贷款每月还款额问题。如今,贷款买房、贷款买车、学生贷款很普遍。 本程序输入利率、贷款总额和还款年数,计算出每月还款额。月还款额计算公式如下。贷款总额X月
8、利率1 (1 +月利率)年数小答:public double calLoan(double loan,double interest,int year) (double money = (loan*interest)/(1-1/Math.pow(l+interestz12*year);return money; )13.项目练习:整钱换零钱问题。把给定的整钱兑换成较小货币单位的零钱。程序要求输入 一个double型表示美元和美分的总钱数,然后列出总额与之等价的dollar (1美元)、quarter (2 角 5 分)、dime (1 角)、nickel (5 分)和 penny (1 分)的
9、数目。完成以上两道程序题目的预备知识如下。用import javax.swing.JOptionPane导入类JOptionPane,其是输入数据对话框类。输入数据方法(从输入对话框到字符串):String str = JOptionPane.showInputDialog(Enter a double number:);数据转换方法(从字符串到浮点数):double d = Double.parseDouble(str);结果输出方法(从内存变量到显示器消息对话框):JOptionPane.showMessageDialog(null,output);答:字符界面下的代码如下所示:publi
10、c class computerchange public static void main(String args) Scanner input = new Scanner(System.in);System.out.printin(输入一个 double 型的数,例如 11.56);double amount=input.nextDouble();int remainingamount=(int)(amount* 100);/找出美元数量int dollars=remainingamount/100;remainingamount=remainingamount% 100;/找quarte
11、r数量int quarters=remainingamount/25;remainingamount=remainingamount%25;找dime数量int dimes=remainingamount/10;remainingamount=remainingamount%10;第2章 基本数据类型、运算符与表达式int nickels=remainingamount/5;remainingamount=remainingamount%5; int pennys=remainingamount/l;/显示System.out.println(HYour amount + amount + consists of n);System.out.println(dollars + dollars11);System.out.println(quarters + quarters11);System.out.println(dimes + dimesH);System.out.println(nickels + nickels);System.out.println(pennys + pennies”);