习题
1.下列哪些标识符是合法的?哪些是Java语言的关键字?
apps,class,applet,Applet,a++,5#Y,hint++,--hint,$56,#67,public,width
2.封装一个类Runner,按照以下步骤写出Java语言代码。
(1)声明一个名为miles且不初始化的double类型变量。
(2)声明一个名为KILOMETER_PRE_MILE值为1.557的double类型常量。
(3)声明一个名为run返回类型为void的方法,为该方法设计一个名为kilometer的double类型形参。
(4)在run()方法内将kilometer和KILOMETER_PRE_MILE相乘的结果赋值给miles。
(5)在run()方法内将miles的值显示在控制台上。
3.封装一个类个MyComputer,其有两个功能方法,一个方法getCirCleArea()通过参数半径radius可以计算圆的面积,一个方法getCylinderVolume()通过参数高和半径radius可以计算圆柱体的体积,其中,圆周率用Math.PI表示。封装执行主类测试结果。
4.封装一个类SumDigits,其有一个功能方法sum(),通过一个参数int类型整数,将该整数的各位数字相加。其中,利用操作符%分解数字,利用操作符/去掉分解出来的数字。例如:整数位932,各位数字之和为14。封装执行主类测试结果。
5.封装一个类YearandDays,其有一个功能方法computerTimes(),通过一个参数int类型整数表示分钟数,传递分钟数(如100000),计算这些分钟代表多少天和多少年。为简化问题,假设一年有365天。例如:1000000000分钟大约是1902年和214天。封装执行主类测试结果。
6.封装一个类PrintASCII,其有一个功能方法print(),通过一个参数int类型整数(0~128),得到该数代表的ASCII码。例如传递参数97,得到字符为a。可以使用强制类型转换进行计算。封装执行主类测试结果。
7.封装一个类ComputeEquation,其有一个功能方法computeRoot()求解一元二次方程ax2+bx+c=0的根,通过三个参数float类型实数代表a、b和c,基于方程判别式得到2个根、一个根或无根。其中,用Math.pow(x,0.5)表示。封装执行主类测试结果。
8.封装一个类LookDivision,其有两个功能方法,一个方法getExact()通过两个参数int类型整数a和b,输出100~1000之间所有能被a或b整除的数,每行显示10个。一个方法getDoubleExact()通过两个参数int类型整数a和b,输出100到1000之间所有能被a或b整除,但不能被两者同时整除的数,每行显示10个。封装执行主类测试结果。
9.封装一个类MyHanoi,输出3根柱子和3个盘子的汉诺塔移动过程。
10.封装一个类NumberChange,将十进制数转换为十六进制数。