<<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/ | 无效的 |

京公网安备 11010502036488号