1、第 1 章 计算机、程序和 Java 概述1.1(显示三条消息)编写程序,显示 Welcome to Java、Welcome to Computer Science 和Programming is fun。程序:显示:1.2(显示五条消息)编写程序,显示 Welcome to Java 五次程序:显示:1.3(显示图案)编写一个程序,显示下面的图案:程序:显示:1.4(打印表格)编写程序,显示以下表格:程序:显示:1.5(计算表达式)编写程序,显示(9.5x4.5-2.5x3)/(45.5-3.5)的结果程序:显示:1.6(数列求和)编写程序,显示 1+2+3+4+5+6+7+8+9 的结果
2、程序:显示:1.7(近似求 )可以使用以下公式计算 :=4x(1-1/3+1/5-1/7+1/9-1/11+1/13+.)编写程序,显示 4x(1-1/3+1/5-1/7+1/9-1/11+1/13.)的结果。在程序中用 1.0 代替 1程序:显示:第 2 章 基本程序设计2.1(将摄氏温度转换为华氏温度)编写程序,从控制台读入 double 型的摄氏温度,然后将其转换华氏温度,并显示结果。转换公式如下所示:Fahrenheit-=(9/5)*celsius+32 (华氏度=(9/5)* 摄氏度+32)程序:显示:2.2(计算圆柱体的体积)编写程序,读入圆柱体的半径和高,并使用下列公式计算圆柱
3、体的体积面积=半径 x 半径 x体积=面积 x 高程序:显示:2.3(将英尺转换为米)编写程序,读入英尺数,将其转换为米数并显示结果。一英尺等于0.305 米。程序:显示:2.4(将磅转换为千克)编写程序,将磅数转换为千克数。程序提示用户输入磅数,然后转换成千克并显示结果。1 磅等于 0.454 千克。程序:显示:2.5(财务应用程序:计算小费)编写一个程序,读入一笔费用与酬金率,就算酬金和总钱数。例如,如果用户读入 10 作为费用,15%作为酬金率,计算结果显示酬金为$1.5,总费用为$11.5.程序:显示:2.6(求一个整数各位数的和)编写程序,读取一个在 0 和 1000 之间的整数,并
4、将该整数的各位数字相加。例如:整数是 932,各位数字之和为 14.程序:显示::2.7(求出年数)编写程序,提示用户输入分钟数(例如十亿)然后显示这些分钟代表多少年和多少天。为了简化问题,假设一年有 365 天。程序:显示:2.8(求 ASCII 码对应的字符)编写程序接受一个 ASCII 码(从 0 到 128 的整数) ,然后显示它所代表的字符。例如,如果用户输入的是 97,程序显示的是字符 a。程序:显示:2.9(财务应用程序:货币单位)改写程序清单 2-10,解决将 double 型值转换为 int 型值时可能会造成精度损失的问题。输入的输入值是一个整数,则其后两位代表的是分币值。例
5、如:1156 就表示的是 11 美元 56 美分程序:显示:2.10(使用图形用户界面输入)改写程序清单 2-10,使用图形用户界面进行输入和输出。程序:显示:2.11(财务应用程序:工资单)编写程序,读入下列信息并打印工资单:雇员的名字(例如 Smith)每周工作小时数(例如 10)每小时工资(例如 6.75)联邦所得税税率(例如 20%)州所得税税率(例如 9%)编写两个版本的程序:(1)使用对话框获取输入并显示输出:程序:显示:(2)使用控制台进行输入和输出:程序:显示:2.12(财务应用程序:计算利息)如果你知道收支余额和年利率的百分比,你就可以使用下面的公式计算下个月要支付的利息额:
6、利息额=收支余额 x(年利率/1200)编写程序,读取收支余额和年百分比利率,显示两个版本的下月利息:(1)使用对话框获取输入并显示输出:程序:显示:(2)使用控制台进行输入和输出:程序:显示:2.13(财务应用程序:计算未来投资值)编写程序,读取投资总额、年利率和年数,然后使用下面的公式显示未来投资金额:显示:显示:2.14(医疗应用程序:计算 BMI)身体质量指数(BMI )是对体重的健康测量。它的值可以通过将体重(以公斤为单位)处以身高(以米为单位)的平方值得到。编写程序,提示用户输入体重(以磅为单位)以及身高(以英寸为单位) ,然后显示 BMI。注意:一磅是0.45359237 公斤而
7、一英寸是 0.0254 米。程序:显示:2.15(财务应用程序:复利值)假设你每月向银行账户存 100 美元,年利率为 5%,那么每月利率是 0.05/12=0.00417。第一个月,账户上的值就变成:100*(1+0。00417)=100.417第二个月之后,账户上的值就变成:(100+100.417)*(1+0.00417)=201.252第三个月之后,账户上的值就变成:(100+201.252)*(1+0.00417)=302.507以此类推。编写程序显示六个月后账户上的钱数程序:显示:2.16(科学方面:计算能量)编写程序,计算将水从初始温度加热到最终温度所需的能量。程序应该提示用户输
8、入水的重量(以千克为单位) ,以及水的初始温度和最终温度。计算能量的公式是:Q=M x(最终温度-初始温度) x4184这里的 M 是以千克为单位的水的重量,温度以摄氏度为单位,而能量以焦耳为单位。程序:显示:2.17(科学方面:风寒温度)外面到底有多冷?只有温度是不足以提供答案的,包括风速、想对温度以及阳光等其他的因素在确定室外是否寒冷方面都起了很重要的作用。2001 年,国家气象服务(NWS)利用温度和风速,使用新的风寒温度在测量寒冷程度。计算公式如下所示:Twc=35.74+0.6215*Ta-35.75*V0.16+0.425*Ta*V0.16这里的 Ta 是室外的温度,以华氏摄氏度为
9、单位,而 V 是速度,以每小时英里数为单位,Twc 是风寒温度。该公式不适用于风速低于 2mph 或温度在-58以下和 41以上的情况。编写程序,提示用户输入在-58和 41之间的度数,同时大于或等于 2 的风速,然后显示风寒温度。使用 Math.pow(a,b)来计算 V0.16。程序:显示:2.18(打印表格)编写程序,显示下面的表格:程序:显示:2.19(随机字符)编写程序,使用。()显示任意一个大写字母。程序:显示:.(几何方面)编写程序,提示用户输入两个点(,)和(,) ,然后显示两个点间的距离。计算两点间距离的公式是()() 注意:可以使用(,.)来计算。程序:显示:.(几何方面:
10、三角形的面积)编写程序,提示用户输入三角形的三个点(,) 、 (,) 、 (,) ,然后显示它的面积。计算三角形面积的公式是:()() ()() ,)程序:显示:2.22(几何方面:六边形面积)编写程序,提示用户输入六边形的边长,然后显示它的面积。计算六边形面积的公式是:area=3*sqrt(3)/2 *s2,这里的 s 就是边长。程序:显示:2.23(物理方面:加速度)平均加速度定义为速度的变化量处以这个变化所用的时间,如下式所示:a=(v1-v0)/t编写程序,提示用户输入以米/秒为单位的起始速度 v0,以米/秒为单位的终止速度 v1,以及以秒为单位的时间段,最后显示平均加速度。程序:显
11、示:2.24(物理方面:求出跑道长度)假设一个飞机的加速度是 a 而起飞速度是 v,那么可以使用下面的公式计算出飞机起飞所需的最短跑道长度:Length=v2/(2*a )编写程序,提示用户输入以米/秒的平方(m/s2)为单位的加速度 a,然后显示最短跑道长度。程序:显示:2.25(当前时间)程序清单 2-6 给出了显示当前格林威治时间的程序。修改这个程序,是只能够做到程序提示用户输入相对于 GMT 的时区偏移量,然后显示在这个特定时区的时间。程序:显示:第 3 章 选择3.1(代数方面:解一元二次方程)可以使用下面的公式求一元二次方程 ax2+bx+c=0 的两个根:r1=(-b+Math.
12、sqrt(b2-4ac)/(2*a)和 r2=(-b-Math.sqrt(b2-4ac)/(2*a)b2-4ac 称作一元二次方程的判别式。如果它是正值,那么一元二次方程就有两个正根。如果它为 0,方程式就只有一个根。如果它是负值,方程式无实根。编写程序,提示用户输入 a、b 和 c 的值,并且显示基于判别式的结果。如果这个判别式为正,显示两个根。如果判别式为 0,显示一个根。否则,显示”The equation has no real root”(该方程式无实根)显示:程序::3.2(检查一个数字是否是偶数)编写程序,读入一个整数并检查它是不是偶数程序:检查:3.3(代数方面:求解 2x2
13、线性方程)可以使用 Cramer 规则解下面的 2x2 线性方程组:ax+by=e cx+dy=f x=(ed-bf)/(ad-bc) y=(af-ec)/(ad-bc)编写程序,提示用户输入 a、b、c、d、e 和 f,然后显示结果。如果 ad-bc=0.报告 x 消息”The equation has no solution”(方程式无解) 。程序:显示:3.4(游戏:学习加法)编写程序,产生两个 100 以下的整数,然后提示用户输入这两个整数的和。如果答案正确,程序报告结果 true;否则,报告 false。改程序类似于程序清单 3-1程序:显示:3.5(游戏:三个数的加法)程序清单 3
14、-1 中的程序产生两个整数,并提示用户输入这两个整数的和。修改该程序使之能产生三个一个整数,然后提示用户输入这三个整数的和。程序:显示:3.6(医疗应用程序:BMI)修改程序清单 3-5,让用户输入重量,英尺和英寸。例如:一个人身高是 5 英尺 10 英寸,输入的英尺值就是 5 而英寸值为 10.程序:显示:3.7(财务应用程序:整钱兑零)修改程序清单 2-10,使之只显示非零的币值单位,用单词的单数形式显示一个单位,例如 1 dollar and 1 penny(1 美元和 1 美分) ;用单词的复数形式显示多于一个单位的值,例如 2 dollars and 3 pennies(2 美元和
15、3 美分) (使用输入值 23.67来测试改程序)程序:显示:3.8(对三个整数排序)编写程序对三个整数排序。这些整数都由输入对话框输入,并分别存储在变量 num1,num2,和 num3 中。程序对这些数进行排序,使之满足num1=num2=num3.程序:显示:3.9(商业方面:检查 ISBN)ISBN(国际标准书号)以前是一个 10 位整数d1d2d3d4d5d6d7d8d9d10,最后的一位 d10 是校验和,它是使用下面的公式用另外 9 个数计算出来的。(d1x1+d2x2+d3x3+d4x4+d5x5+d6x6+d7x7+d8x8+d9x9)%10如果校验和为 10,那么按照 IS
16、BN 的习惯,最后一位应该表示为 X。编写程序,提示用户输入前 9 个数,然后显示 10 位 ISBN(包括前面起始位置的 0) 。程序应该读取一个整数输入。例如:输入的是 013601267,那么程序就应该显示 0136012671.程序:显示:3.10(游戏:加法测试)程序清单 3-4 随机产生一个减法问题。修改这个程序,随机产生一个计算两个小于 100 的整数的加法问题。程序:显示:3.11(给出一个月的总天数)编写程序,提示用户输入月份和年份,然后显示这个月的天数。例如:如果用户输入的月份是 2 而年份是 2000,那么程序应该显示“February 2000 has 29 days”(2000 年 2 月有 29 天) 。如果用户输入的月份为 3 月而年份为 2005,那么程序就应该显示“March 2005 has 31 days”(2005 年 3 月有 31 天) 。程序: