《java 语言程序设计》第3、4章编程练习
3.1
public class test { public static void main(String[] args) { System.out.println("Enter a, b, c: "); Scanner input = new Scanner(System.in); double a = input.nextDouble(); double b = input.nextDouble(); double c = input.nextDouble(); double delta = b * b - 4 * a * c; double t = Math.pow(delta, 0.5); if(delta > 0) { double x1 = (-b + t) / 2; double x2 = (-b - t) / 2; System.out.println("The roots are " + x1 + " and " + x2); } else if (delta == 0) { System.out.println("The root is " + -b / (2 * a)); } else { System.out.println("The equation has no real roots"); } } }
3.2
public class test { public static void main(String[] args) { System.out.println("Enter an integer: "); Scanner input = new Scanner(System.in); int n = input.nextInt(); System.out.print("Is " + n + " an even number? "); if(n % 2 == 0) System.out.println("true"); else System.out.println("false"); } }
3.3
public class test { public static void main(String[] args) { System.out.print("Enter a, b, c, d, e, f: "); Scanner input = new Scanner(System.in); double a = input.nextDouble(); double b = input.nextDouble(); double c = input.nextDouble(); double d = input.nextDouble(); double e = input.nextDouble(); double f = input.nextDouble(); double fm = a * d - b * c; if(fm == 0) { System.out.println("The equation has no solution"); } else { System.out.println("a is " + ((e * d - b * f) / fm) + " and y is " + ((a * f - e * c) / fm)); } } }
3.4
public class test { public static void main(String[] args) { Scanner input = new Scanner(System.in); int a = (int)(Math.random() * 100); int b = (int)(Math.random() * 100); System.out.print("Enter the sum of the two integer(0~100): " + a + " and " + b + ": "); int c = input.nextInt(); if(c == a + b) System.out.println("True"); else System.out.println("False"); } }
3.5
public class test { public static int judge(int year, int month) { boolean leap; leap = (year % 4 ==0 && year % 100 != 0) || (year % 400 == 0); if(month == 2) { if(leap) return 29; else return 28; } else if(month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12) { return 31; } else { return 30; } } public static void main(String[] args) { String[] months = {" ", "January","February","March","April", "May","June","July","August","September", "October","November","December"}; System.out.print("Please inpit month and year: "); Scanner input = new Scanner(System.in); int month = input.nextInt(); int year = input.nextInt(); System.out.println(months[month] + " " + year + " has " + judge(year, month) + " days"); } }
4.7
public class test { public static void main(String[] args) {double n = 10000; double s1, s2, t; s1 = s2 = 0; t = 1; final double rate = 0.05; for(int i = 1; i < 11; i++) { t *= (1 + rate); } s1 = n * t; System.out.println("s1 = " + s1); } }
4.16
public class test { public static void main(String[] args) { System.out.print("Enter a number: "); Scanner input = new Scanner(System.in); int n = input.nextInt(); int i = 2; while(true) { while(n % i == 0 && n != i) { System.out.print(i + ", "); n /= i; } i++; if(n == i) { System.out.println(i); break; } } } }
4.25
public class test { public static double countPi(int n) { double pi = 0; double t; int m=1; for(int i = 1; i < n; i++) { t=1.0/(2*i-1); t*=m; pi+=t; m*=-1; } pi *= 4; return pi; } public static void main(String[] args) { System.out.print("Enter a number: "); Scanner input = new Scanner(System.in); for(int i = 10000; i <= 100000; i++) { System.out.println("pi(" + i + ") = " + countPi(i));; } } }
4.27
public class test { public static boolean isLeapYear(int n) { return ((n % 4 == 0 && n % 100 != 0) || n % 400 == 0); } public static void main(String[] args) { int n = 0; for(int i = 2001; i < 2100; i++) { if(isLeapYear(i)) { n++; if(n % 11 == 0) { System.out.println("\n"); } else { System.out.print(i + " "); } } } } }
4.33
public class test { public static boolean test(int n) { int i, sum; int m = n / 2; sum = 0; for(i = 1; i <= m; i++) { if(n % i == 0) sum += i; } if(sum == n) return true; else return false; } public static void main(String[] args) { for(int i = 2; i < 10000; i++) { if(test(i)) System.out.print(i + "\n"); } } }
4.41
public class test { public static void main(String[] args) { int n, count , max, t; Scanner input = new Scanner(System.in); System.out.println("Enter a number: "); n = input.nextInt(); t = max = n; count = 0; while(t != 0) { if(t > max) { count = 1; max = t; } else { count++; } System.out.println("Enter a number: "); t = input.nextInt(); } System.out.println("max= " + max + ", count= " + count); } }
作者:wuyudong
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
如果觉得本文对您有帮助,可以对作者进行小额【赞助】