<<Java程序设计与数据结构>>第六章练习
习题来源: <<Java程序设计与数据结构(原书第11版)>> 机械工业出版社 梁勇著 戴开宇译
书籍页码: P203
最后一次编辑时间: 2019-9-14
6-1 (数学: 五角数)
package textbook.ch06; public class Ex06_04 { public static void main(String[] args) { for(int i=1;i<=100;i++){ if(i % 10 == 0) System.out.printf("%7d\n", getPentagonalNumber(i)); else System.out.printf("%7d ", getPentagonalNumber(i)); } } public static int getPentagonalNumber(int n){ return n * (3 * n-1) / 2; } }
6-2 (求一个整数各位数字之和)
package textbook.ch06; import java.util.*; public class Ex06_02 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); long n = sc.nextLong(); System.out.println("sum = " + sumDigits(n)); } public static int sumDigits(long n){ int sum = 0; while(n != 0){ sum += n % 10; n /= 10; } return sum; } }
6-3 (回文整数)
package textbook.ch06; import java.util.Scanner; public class Ex06_03 { public static int reverse(int number){ StringBuilder s = new StringBuilder(String.valueOf(number)); s.reverse(); int num = Integer.parseInt("" + s); return num; } public static boolean isPalindrome(int number){ if(number == reverse(number)) return true; else return false; } public static void main(String[] args) { Scanner sc = new Scanner(System.in); int num = sc.nextInt(); System.out.println(isPalindrome(num)); } }
6-4 (反序显示一个整数)
package textbook.ch06; import java.util.Scanner; public class Ex06_04 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int num = sc.nextInt(); System.out.println(reverse(num)); } public static int reverse(int number){ StringBuilder s = new StringBuilder(String.valueOf(number)); s.reverse(); int num = Integer.parseInt("" + s); return num; } }
6-5 (对三个数进行升序)
package textbook.ch06; import java.util.Arrays; import java.util.Scanner; public class Ex06_05 { public static void main(String[] args){ Scanner sc = new Scanner(System.in); double num1 = sc.nextDouble(); double num2 = sc.nextDouble(); double num3 = sc.nextDouble(); displaySortedNumbers(num1, num2, num3); } public static void displaySortedNumbers(double num1, double num2, double num3){ double[] arr = {num1, num2, num3}; Arrays.sort(arr); for (double i:arr){ System.out.println(i); } } }
6-6 (显示图案)
package textbook.ch06; import java.util.Scanner; public class Ex06_06 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); displayPattern(n); } public static void displayPattern(int n){ for(int i=1;i<=n;i++) { for(int j=1;j<=n-i;j++) System.out.print(" "); for(int k=i;k>0;k--) if( k == 1) System.out.println(k); else System.out.print(k + " "); } } }
6-10 (求小于10000的素数的个数)
package textbook.ch06; public class Ex06_10 { public static void main(String[] args) { int sum = 0; for(int i=2;i<10000;i++) if(isPrime(i)) sum += 1; System.out.println(sum); } public static boolean isPrime(int num){ int bound = (int)Math.sqrt(num); for(int i=2; i<=bound;i++){ if(num % i == 0) return false; } return true; } }
6-12 (显示字符)
package textbook.ch06; public class Ex06_12 { public static void main(String[] args) { printChars('1', 'z', 10); } public static void printChars(char ch1, char ch2, int numberLine){ int count = 1; for(int i=ch1;i<=ch2;i++,count++) if(count % numberLine == 0) System.out.println((char)i); else System.out.print((char)i + " "); } }
6-13 (数列求和)
package textbook.ch06; import java.util.Scanner; public class Ex06_13 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); System.out.println("i\t" + "m(i)"); System.out.println("___________________"); for(int i=1;i<=n;i++){ System.out.printf("%d\t%.4f\n", i ,calculateSum(i)); } } public static double calculateSum(int n){ double sum = 0; for(int i=1;i<=n;i++){ sum += (double)i/(i+1); } return sum; } }
6-14 (估算Π)
package textbook.ch06; import java.util.Scanner; public class Ex06_14 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); System.out.println("i\t" + "m(i)"); System.out.println("___________________"); for(int i=1;i<=n;i++){ System.out.printf("%d\t%.4f\n", i ,calculatePi(i)); } } public static double calculatePi(int n){ double sum = 0; for(int i=1;i<=n;i++){ sum += Math.pow(-1.0, (double)i+1) / (2*i - 1); } return 4 * sum; } }
6-16 (一年的天数)
package textbook.ch06; public class Ex06_16 { public static void main(String[] args) { for(int year = 2000;year<=2020;year++){ System.out.println(year + " has " + numberOfDaysInAYear(year) + " days."); } } public static int numberOfDaysInAYear(int year){ if(isLeapYear(year)) return 366; else return 365; } public static boolean isLeapYear(int year){ if(year % 4 == 0 && year % 100 !=0 || year % 400 == 0) return true; else return false; } }
6- ()
6- ()
6- ()
6- ()
6- ()
6- ()
6- ()
6- ()
6- ()
6- ()
6- ()
6- ()
英文单词
单词 | 音标 | 释义 |
---|---|---|
alphabetical | /ælfə'betɪk(ə)l/ | 依字母顺序的 |
Freshman | /'freʃmən/ | 大学一年级学生 |
Sophomore | /'sɒfəmɔː/ | 大学二年级学生 |
Junior | /'dʒunɪɚ/ | 大学三年级学生 |
Senior | /'sinɪɚ/ | 大学四年级学生 |
latitude | /'lætɪtjuːd/ | 纬度 |
longitude | /'lɒn(d)ʒɪtjuːd; 'lɒŋgɪ-/ | 经度 |
Radian | /'reɪdɪən/ | 弧度 |
invalid | /ˈɪnvəlɪd;ɪnˈvælɪd/ | 无效的 |