第六章习题
第六章习题
jxxxh
就读于浙江师范大学
展开
-
第六章第三十九题(几何:点的位置)(Geometry: point position)
第六章第三十九题(几何:点的位置)(Geometry: point position)6.39(几何:点的位置)编程练习题3.32显示如何测试一个点是否在一个有向直线的左侧、右侧,或在该直线上。使用下面的方法头编写该方法:public static boolean leftOfTheLine(double x0, double y0, double x1, double y1, double x2, double y2)public static boolean onTheSameLine(doub原创 2020-10-24 00:26:57 · 379 阅读 · 0 评论 -
第六章第三十八题(生成随机字符)(Generate random characters)
第六章第三十八题(生成随机字符)(Generate random characters)*6.38(生成随机字符)使用程序清单6-10RandomCharacter中的方法,打印100个大写字母及100个一位数字,每行打印10个。*6.38(Generate random characters) Use the methods in RandomCharacter in Listing 6.10 to print 100 uppercase letters and then 100 single di原创 2020-10-24 00:27:15 · 317 阅读 · 0 评论 -
第六章第三十七题(格式化整数)(Format an integer)
第六章第三十七题(格式化整数)(Format an integer)6.37(格式化整数)使用下面的方法头编写一个方法,用于将整数格式化为指定宽度:public static String format(int number, int width)方法为数字number返回一个带有一个或多个以0作为前缀的字符串。字符串的位数就是宽度。比如,format(34,4)返回0034,format(34,5)返回00034。如果数字宽于指定宽度,方法返回该数字的字符串表示。比如,format(34,1)返回原创 2020-10-24 00:27:33 · 511 阅读 · 0 评论 -
第六章第三十六题(几何:正多边形的面积)(Geometry: area of a regular polygon)
第六章第三十六题(几何:正多边形的面积)(Geometry: area of a regular polygon)*6.36(几何:正多边形的面积)正多边形是一个n条边的多边形,它的每条边的长度都相等,而且所有角的角度也相等(即多边形既是等边又等角的)。计算正多边形面积的公式是:使用下面的方法头编写方法,返回正多边形的面积:public static double area(int n, double side)编写一个main方法,提示用户输入边的个数以及正多边形的边长,然后显示它的面积。下原创 2020-10-24 00:26:28 · 335 阅读 · 0 评论 -
第六章第三十五题(几何:五边形的面积)(Geometry: area of a pentagon)
第六章第三十五题(几何:五边形的面积)(Geometry: area of a pentagon)6.35(几何:五边形的面积)五边形的面积可以使用下面的公式计算:编写一个方法,使用下面的方法头来返回五边形的面积。public static double area(double side)编写一个主方法,提示用户输入五边形的边,然后显示它的面积。下面是一个运行示例:Enter the side:5.5The area of the pentagon is 52.0444416.35(Ge原创 2020-10-24 00:25:56 · 629 阅读 · 0 评论 -
第六章第三十四题(打印日历)(Print calendar)
第六章第三十四题(打印日历)(Print calendar)**6.34(打印日历)编程练习题3.21使用Zeller一致性原理来计算某天是星期几。使用Zeller的算法简化程序清单6-12以获得每月开始的第一天是星期几。**6.34(Print calendar) Programming Exercise 3.21 uses Zeller’s congruence to calculate the day of the week. Simplify Listing 6.12, PrintCalend原创 2020-10-23 00:27:33 · 500 阅读 · 0 评论 -
第六章第三十三题(当前日期和时间)(Current date and time)
第六章第三十三题(当前日期和时间)(Current date and time)**6.33(当前日期和时间)调用System.currentTimeMillis()返回从1970年1月1日0点开始至今为止的毫秒数。编写程序,显示当前日期和时间。下面是运行示例:Current date and time is May 16, 2012 10:34:23**6.33(Current date and time) Invoking System.currentTimeMillis() returns原创 2020-10-23 00:27:16 · 362 阅读 · 0 评论 -
第六章第三十二题(游戏:赢取双骰子赌博游戏的机会)(Game: chance of winning at craps)
第六章第三十二题(游戏:赢取双骰子赌博游戏的机会)(Game: chance of winning at craps)**6.32(游戏:赢取双骰子赌博游戏的机会)修改编程练习题6.30使该程序运行10000次,然后显示赢得游戏的次数**6.32(Game: chance of winning at craps)Revise Exercise 6.30 to run it 15,000 times and display the number of winning games.参考代码:pack原创 2020-10-23 00:26:59 · 292 阅读 · 0 评论 -
第六章第三十一题(金融应用:信用卡号的合法性验证)(Financial: credit card number validation)
第六章第三十一题(金融应用:信用卡号的合法性验证)(Financial: credit card number validation)**6.31(金融应用:信用卡号的合法性验证)信用卡号遵循某种模式。一个信用卡号必须是13到16位的整数。它的开头必须是:4,指Visa卡5,指Master卡37,指American Express 卡6,指Discover卡1954年,IBM的Hans Luhn提出一种算法,用于验证信用卡号的有效性。这个算法在确定输入的卡号是否正确,或者这张信用卡是否被扫描仪原创 2020-10-23 00:26:27 · 1161 阅读 · 0 评论 -
第六章第三十题(游戏:双骰子赌博)(Game: craps)
第六章第三十题(游戏:双骰子赌博)(Game: craps)**6.30(游戏:双骰子赌博)执双骰子游戏是赌场中非常流行的骰子游戏。编写程序,玩这个游戏的一个变种,如下所描述: 执两个骰子。每个骰子有六个面,分别表示值1,2,…,6。检查这两个骰子的和。如果和为2、3或12(称为掷骰子(crap)),你就输了;如果和是7或者11(称作自然(natural)),你就赢了;但如果和是其他数字(例如:4、5、6、8、9或者10),就确定了一个点。继续掷骰子,直到掷出一个7或者掷出和刚才相同的点数。如果掷出的是原创 2020-10-23 00:25:57 · 1432 阅读 · 0 评论 -
第六章第二十九题(双素数)(Twin primes)
第六章第二十九题(双素数)(Twin primes)**6.29(双素数)双素数是指一对差值为2的素数。例如:3和5就是一对双素数,5和7是一对双素数,而11和13也是一对双素数。编写程序,找出小于1000的所有双素数。如下所示显示结果:(3,5)(5,7)…**6.29(Twin primes)(Twin primes) Twin primes are a pair of prime numbers that differ by 2. For example, 3 and 5 are twin原创 2020-10-23 00:25:14 · 1152 阅读 · 0 评论 -
第六章第二十八题(梅森素数)(Mersenne prime)
第六章第二十八题(梅森素数)(Mersenne prime)**6.28(梅森素数)如果一个素数可以写成2^p-1的形式,其中p是某个正整数,那么这个素数就称作梅森素数。编写程序,找出p<=31的所有梅森素数,然后如下显示输入结果:p 2^p-12 33 75 31…**6.28(Mersenne原创 2020-10-23 00:24:58 · 1777 阅读 · 0 评论 -
第六章第二十七题(反素数)(Emirp)
第六章第二十七题(反素数)(Emirp)**6.27(反素数)反素数(反转拼写的素数)是指一个非回文素数,将其反转之后也是一个素数。例如:17是一个素数,而31也是一个素数,所以17和71是反素数。编写程序,显示前100个反素数。每行显示10个,并且数字间用空格隔开,如下所示:13 17 31 37 71 73 79 97 107 113149 157 167 179 199 311 337 347 359 389…**6.27(Emirp)An emirp (prime spelled bac原创 2020-10-23 00:24:27 · 1228 阅读 · 0 评论 -
第六章第二十六题(回文素数)(Palindromic prime)
第六章第二十六题(回文素数)(Palindromic prime)**6.26(回文素数)回文素数是指一个数同时为素数和回文数。例如:131是一个素数,同时也是一个回文素数。数学313和757也是如此。编写程序,显示前100个回文素数。每行显示10个数,数字中间用一个空格隔开。如下所示:2 3 5 7 11 101 131 151 181 191313 353 373 383 727 757 787 797 919 929…**6.26(Palindromic prime) A palindro原创 2020-10-23 00:24:06 · 827 阅读 · 0 评论 -
第六章第二十五题(将毫秒数转换成小时数、分钟数和秒数)(Convert milliseconds to hours, minutes, and seconds)
第六章第二十五题(将毫秒数转换成小时数、分钟数和秒数)(Convert milliseconds to hours, minutes, and seconds)**6.25(将毫秒数转换成小时数、分钟数和秒数)使用下面的方法头,编写一个将毫秒数转换成小时数、分钟数和秒数的方法。public static String convertMillis(long millis)该方法返回形如“小时:分钟:秒”的字符串。例如:convertMillis(5500)返回字符串0:0:5,convertMilli原创 2020-10-23 00:23:24 · 546 阅读 · 0 评论 -
第六章第二十四题(显示当前日期和时间)(Display current date and time)
第六章第二十四题(显示当前日期和时间)(Display current date and time)**6.24(显示当前日期和时间)程序清单2-7显示当前时间。改进这个例子,显示当前的日期和时间。程序清单6-12中日历例子可以提供一些如何求年、月和日的思路。**6.24(Display current date and time) Listing 2.7, ShowCurrentTime.java, displays the current time. Revise this example to原创 2020-10-22 00:16:43 · 356 阅读 · 0 评论 -
第六章第二十三题(指定字符的出现次数)(Occurrences of a specified character)
第六章第二十三题(指定字符的出现次数)(Occurrences of a specified character)*6.23(指定字符的出现次数)使用下面的方法头编写一个方法,找到一个字符串中指定字符的出现次数。public static int count(String str, char a)例如,count(“Welcome”,‘e’)返回2。编写一个测试程序,提示用户输入一个字符串以及一个字符,显示该字符在字符串中出现的次数。*6.23(Occurrences of a specified原创 2020-10-22 00:16:24 · 398 阅读 · 0 评论 -
第六章第二十二题(数学:平方根的近似求法)(Math: approximate the square root)
第六章第二十二题(数学:平方根的近似求法)(Math: approximate the square root)**6.22(数学:平方根的近似求法)有几种实现Math类中sqrt方法的技术。其中一个称为巴比伦法。它通过使用下面的公式反复计算近似地得到一个数字n的平方根:nextGuess = (lastGuess + n / lastGuess) / 2当nextGuess和lastGuess几乎相同时,nextGuess就是平方根的近似值。最初的猜测值可以是任意一个正值(例如1)。这个值就是la原创 2020-10-22 00:16:00 · 737 阅读 · 0 评论 -
第六章第二十一题(电话按键盘)(Phone keypads)
第六章第二十一题(电话按键盘)(Phone keypads)*6.21(电话按键盘)国际标准的字母/数字匹配图如编程练习题4.15所示,编写一个方法,返回给定大写字母的数字,如下所示:public static int getNumber(char uppercaseLetter)编写一个测试程序,提示用户输入字符串形式的电话号码。输入的数字可能会包含字母。程序将字母(大写或者小写)翻译成一个数字,然后保持其他字符不变。下面是该程序的运行示例:Enter a string: 1-800-Flow原创 2020-10-22 00:15:22 · 248 阅读 · 0 评论 -
第六章第二十题(计算一个字符串中字母的个数)(Count the letters in a string)
第六章第二十题(计算一个字符串中字母的个数)(Count the letters in a string)*6.20(计算一个字符串中字母的个数)编写一个方法,使用下面的方法头计算字符串中的字母个数:public static int countLetters(String s)编写一个测试程序,提示用户输入字符串,然后显示字符串中的字母个数。*6.20(Count the letters in a string) Write a method that counts the number of原创 2020-10-22 00:14:57 · 1079 阅读 · 0 评论 -
第六章第十九题(三角形)(Triangles)
第六章第十九题(三角形)(Triangles)*6.19(三角形)实现以下两个方法:public static boolean isValid(double side1, double side2, double side3)public static double area(double side1, double side2, double side3)编写一个测试程序,读入三角形三条边的值。使用isValid方法检测输入是否有效,并使用area方法计算面积。如果输入有效,则显示面积,否则显示原创 2020-10-22 00:14:34 · 602 阅读 · 0 评论 -
第六章第十八题(检测密码)(Check password)
第六章第十八题(检测密码)(Check password)**6.18(检测密码)一些网站对于密码具有一些规则。编写一个方法,检测字符串是否是一个有效密码。假定密码规则如下:密码必须至少8位字符。密码仅能包含字母和数字。密码必须包含至少两个数字。编写一个程序,提示用户输入一个密码,如果符合规则,则显示Valid Password,否则显示Invalid Password。**6.18(Check password) Some websites impose certain rules for原创 2020-10-22 00:14:18 · 2747 阅读 · 0 评论 -
第六章第十七题(显示0和1构成的矩阵)(Display matrix of 0s and 1s)
第六章第十七题(显示0和1构成的矩阵)(Display matrix of 0s and 1s)*6.17(显示0和1构成的矩阵)编写一个方法,使用下面的方法头显示n * n的矩阵:public static void printMatrix(int n)每个元素都是随机产生的0或1。编写一个测试程序,提示用户输入n,显示一个n * n矩阵。以下是一个运行示例:Enter n:30 1 00 0 01 1 1*6.17(Display matrix of 0s and 1s)Write原创 2020-10-22 00:14:01 · 1078 阅读 · 0 评论 -
第六章第十六题(一年的天数)(Number of days in a year)
第六章第十六题(一年的天数)(Number of days in a year)*6.16(一年的天数)使用下面的方法头编写一个方法,返回一年的天数:public static int numberOfDaysInAYear(int year)编写一个测试程序,显示从2000年到2020年间每年的天数*6.16(Number of days in a year) Write a method that returns the number of days in a year using the f原创 2020-10-22 00:13:39 · 1047 阅读 · 0 评论 -
第六章第十五题(金融应用:打印税表)(Financial application: print a tax table)
第六章第十五题(金融应用:打印税表)(Financial application: print a tax table)*6.15(金融应用:打印税表)程序清单3-5给出了计算税款的程序。使用税款的程序。使用下面的方法头编写一个计算税款的方法:public static double computeTax(int status,double taxableIncome)使用这个方法编写程序,打印可征税收人从50000美元到60000美元,收入间隔为50美元的所有以下婚姻状态的纳税表,如下所示:Ta原创 2020-10-22 00:13:19 · 544 阅读 · 0 评论 -
第六章第十四题(估算PI)(Estimate PI)
第六章第十四题(估算PI)(Estimate PI)*6.14(估算PI)PI可以使用下面的数列进行计算:编写一个方法,对于给定的i返回m(i),并且编写一个测试程序,显示如下表格:i m(i)1 4.0000101 3.1515201 3.1466301原创 2020-10-21 00:18:50 · 711 阅读 · 0 评论 -
第六章第十三题(数列求和)(Sum series)
第六章第十三题(数列求和)(Sum series)*6.13(数列求和)编写一个方法对下面的数列求和:编写一个测试程序,显示下面的表格:i m(i)1 0.50002 1.1667…19 16.402320 17.3546*6.13(Sum series) Write a原创 2020-10-21 00:18:31 · 849 阅读 · 2 评论 -
第六章第十二题(显示字符)(Display characters)
第六章第十二题(显示字符)(Display characters)6.12(显示字符)使用下面的方法头,编写一个打印字符的方法: public static void printChars(char ch1, char ch2, int numberPerLine) 该方法打印ch1到ch2之间的字符,每行按指定个数打印。编写一个测试程序,打印从‘1’到‘z’的的字符,每行打印10个。字符之间使用一个空格字符隔开。6.12(Display characters)(Display numbers) Wr原创 2020-10-21 00:18:14 · 821 阅读 · 0 评论 -
第六章第十一题(金融应用:计算酬金)(Financial application: compute commissions)
第六章第十一题(金融应用:计算酬金)(Financial application: compute commissions)6.11(金融应用:计算酬金)编写一个方法,利用编程练习题5.39中的方案计算酬金。方法头如下所示:public static double computeCommission(double salesAmount)编写一个测试程序,显示下面表格:销售总额 酬金10000 900.01原创 2020-10-21 00:17:37 · 386 阅读 · 0 评论 -
第六章第十题(使用isPrime方法)(Use the isPrime Method)
第六章第十题(使用isPrime方法)(Use the isPrime Method)6.10(使用isPrime方法)程序清单6-7提供了测试某个数字是否是素数的方法isPrime(int number)。使用这个方法求小于10000的素数的个数。6.10(Use the isPrime Method) Listing 6.7, PrimeNumberMethod.java, provides the isPrime(int number) method for testing whether a原创 2020-10-21 00:17:12 · 1459 阅读 · 0 评论 -
第六章第九题(英尺和米之间的转换)(Conversions between feet and meters)
第六章第九题(英尺和米之间的转换)(Conversions between feet and meters)6.9(英尺和米之间的转换)编写一个类,包含如下两个方法:public static double footToMeter(double foot)public static double meterToFoot(double meter)转换公式如下:米 = 0.305 * 英尺英尺 = 3.279 * 米编写一个测试程序,调用这两个方法以显示下面的表格:英尺原创 2020-10-21 00:11:16 · 867 阅读 · 0 评论 -
第六章第八题(摄氏度和华氏度之间的转换)(Conversions between celsius and fahrenheit)
第六章第八题(摄氏度和华氏度之间的转换)(Conversions between celsius and fahrenheit)6.8(摄氏度和华氏度之间的转换)编写一个类,包含下面两个方法:public static double celsiusToFahrenheit(double celsius)public static double fahrenheitToCelsius(double fahrenheit)转换公式如下:华氏度 = (9.0 / 5)* 摄氏度 + 32摄氏度 =原创 2020-10-21 00:10:50 · 1060 阅读 · 0 评论 -
第六章第七题(金融应用:计算未来投资回报值)(Financial application: compute the future investment value)
第六章第七题(金融应用:计算未来投资回报值)(Financial application: compute the future investment value)*6.7(金融应用:计算未来投资回报值)编写一个方法,计算按照给定的年数和利率计算未来投资回报值,未来投资回报值是用编程练习题2.21中的公式计算得到的。使用下面的方法头:public static double futureInvestmentValue(double investmentAmount,double monthlyInt原创 2020-10-21 00:10:10 · 1039 阅读 · 1 评论 -
第六章第六题(显示图案)(Display patterns)
第六章第六题(显示图案)(Display patterns)*6.6(显示图案)编写方法显示如下图案: 该方法头为:public static void displayPattern(int n)*6.6(Display patterns) Write a method to display a pattern as follows:The method header is public static void displayPattern(int n)参考代码:package chapter0原创 2020-10-16 00:54:17 · 868 阅读 · 0 评论 -
第六章第五题(对三个数排序)(Sort three numbers)
第六章第五题(对三个数排序)(Sort three numbers)*6.5(对三个数排序)使用下面的方法头编写方法,按升序显示三个数:public static void displaySortedNumbers( double num1, double num2, double num3)编写测试程序,提示用户输入三个数字,调用方法以升序显示他们。*6.5(Sort three numbers) Write a method with the following header to displ原创 2020-10-21 00:09:22 · 1050 阅读 · 0 评论 -
第六章第四题(反序显示一个整数)(Display an integer reversed)
第六章第四题(反序显示一个整数)(Display an integer reversed)*6.4(反序显示一个整数)使用下面的方法头编写方法,反序显示一个整数:public static void reverse(int number)例如:reverse(3456)返回6543。编写一个测试程序,提示用户输入一个整数,然后显示它的反序数。*6.4(Display an integer reversed) Write a method with the following header to d原创 2020-10-20 00:15:53 · 1003 阅读 · 0 评论 -
第六章第三题(回文整数)(Palindrome integer)
第六章第三题(回文整数)(Palindrome integer)**6.3(回文整数)使用下面的方法头编写两个方法:// Return the reversal of an integer, e.g., reverse(456) returns 654public static int reverse(int number)// Return true if number is a palindromepublic static boolean isPalindrome(int number)原创 2020-10-20 00:15:22 · 1526 阅读 · 0 评论 -
第六章第二题(求一个整数各位数字之和)(Sum the digits in an integer)
第六章第二题(求一个整数各位数字之和)(Sum the digits in an integer)*6.2(求一个整数各位数字之和)编写一个方法,计算一个整数各位数字之和。使用下面的方法头:public static int sumDigits(long n)例如:sumDigits(234)返回9(2+3+4)。 提示:使用求余操作符%提取数字,用除号/去掉提取出来的数字。例如:使用234%10(=4)提取4。然后使用234/10(=23)从234中去掉4。使用一个循环来反复提取和去掉每位数字,原创 2020-10-15 10:06:36 · 2418 阅读 · 0 评论 -
第六章第一题(数学:五角数)(Math: pentagonal numbers)
第六章第一题(数学:五角数)(Math: pentagonal numbers)6.1(数学:五角数)一个五角数被定义为n(3n-1)/2,其中n = 1,2,…。所以,开始的几个数字就是1,5,12,22,…,编写具有下面所示方法头的方法,返回一个五角数:public static int getPentagonalNumber(int n)例如,getPentagonNumber(1)返回1,getPentagonNumber(2)返回5。编写一个测试程序显示前100个五角数,每行显示10个。使原创 2020-10-20 00:15:05 · 924 阅读 · 0 评论