Java语言程序设计-基础篇-第八版-第五章
2013-01-27 19:46
369 查看
package chapter5方法; //求最大公约数; public class GreatestCommonDivisor { public static void main(String[] args){ java.util.Scanner input = new java.util.Scanner(System.in); System.out.print("Enter first integer: "); int n1 = input.nextInt(); System.out.print("Enter second integer: "); int n2 = input.nextInt(); System.out.println("The greatest common divisor for " + n1 + " and " + n2 + " is " + gcd(n1, n2)); } public static int gcd(int n1, int n2){ int gcd = 1; int k = 2; while(k <= n1 && k <= n2){ if (n1 % k == 0 && n2 % k ==0) //能同时被n1和n2整除; gcd = k; k++; } return gcd; } }
package chapter5方法; public class Increment { public static void main(String[] args){ int x = 1; System.out.println("Befre the call, x is " + x); increment(x); System.out.println("After the call, x is " + x); } public static void increment(int n) { n++; System.out.println("n inside the method is " + n); } }
package chapter5方法; public class PrimeNumberMethod { public static void main(String[] args){ System.out.println("The first 50 prime numbers are \n"); printPrimeNumbers(50); } public static void printPrimeNumbers(int numberOfPrimes){ final int NUMBER_OF_PRIMES_PER_LINE = 10; int count = 0; int number = 2; while (count < numberOfPrimes) { if (isPrime(number)) { count++; if (count % NUMBER_OF_PRIMES_PER_LINE == 0) { System.out.printf("%-5s\n", number); } else System.out.printf("%-5s", number); } number++; } } public static boolean isPrime(int number){ for(int divisor = 2; divisor <= number /2; divisor++) { if (number % divisor == 0){ return false; } } return true; } }
package chapter5方法; public class TestMax { public static void main(String[] args){ int i = 5; int j = 2; int k = max(i, j); System.out.println("The maximum between " + i + " and " + j + " is " + k); } public static int max(int num1, int num2){ int result; if (num1 > num2) result = num1; else result = num2; return result; } }
package chapter5方法; public class TestPassByValue { public static void main(String[] args){ int num1 = 1; int num2 = 2; System.out.println("Before invoking the swap method, num1 is " + num1 + " and num2 is " + num2); swap(num1, num2); System.out.println("After invoking the swap method, num1 is " + num1 + " and num2 is " + num2); } public static void swap(int n1, int n2){ System.out.println("\tInside the swap method"); System.out.println("\t\tBefore swapping n1 is " + n1 + " n2 is " + n2); int temp = n1; n1 = n2; n2 = temp; System.out.println("\t\tAfter swapping n1 is " + n1 + " n2 is " + n2); } }
package chapter5方法; public class TestReturnGradeMethod { public static void main(String[]args){ System.out.print("The grade is " + getGrade(78.6)); System.out.print("\nThe grade is " + getGrade(59.8)); } public static char getGrade(double score) { if (score >= 90.0) return 'A'; else if (score >= 80.0) return 'B'; else if (score >= 70.0) return 'C'; else if (score >= 60.0) return 'D'; else return 'F'; } }
package chapter5方法; public class TestViodMethod { public static void main(String[] args){ System.out.print("The grade is "); printGrade(78.5); System.out.print("The grade is "); printGrade(59.7); } public static void printGrade(double score) { if (score >= 90.0){ System.out.println('A'); } else if (score >= 80.0){ System.out.println('B'); } else if (score >= 70.0){ System.out.println('C'); } else if (score >= 60.0){ System.out.println('D'); } else{ System.out.println('F'); } } }
package chapter5方法; import java.util.*;//十进制转换为十六进制! public class Decimal2HexConversion { public static void main(String[] args){ Scanner input = new Scanner(System.in); System.out.print("Enter a decimal number: "); int decimal = input.nextInt(); System.out.println("The hex number for decimal " + decimal + " is " + decimalToHex(decimal)); } public static String decimalToHex(int decimal) { String hex = ""; while (decimal != 0) { int hexValue = decimal % 16; hex = toHexChar(hexValue) + hex; decimal = decimal / 16; } return hex; } public static char toHexChar(int hexValue) { if (hexValue <= 9 && hexValue >= 0) return (char)(hexValue + '0'); else return (char)(hexValue - 10 + 'A'); } }
package chapter5方法; import java.util.*; public class PrintCalendar { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.print("Eneter full year (e.g.,2001): "); int year = input.nextInt(); System.out.print("Eneter nonth in number between 1 an 12: "); int month = input.nextInt(); printMonth(year, month); } public static void printMonth(int year, int month){ printMonthTitle(year, month); printMonthBody(year, month); } public static void printMonthTitle(int year, int month){ System.out.println(" " + getMonthName(month) + " " + year); System.out.println("----------------------------"); System.out.println(" Sun Mon Tue Wed Thu Fri Sat"); } public static String getMonthName(int month){ String monthName = ""; switch (month) { case 1:monthName = "January"; break; case 2:monthName = "February"; break; case 3:monthName = "March"; break; case 4:monthName = "April"; break; case 5:monthName = "May"; break; case 6:monthName = "June"; break; case 7:monthName = "July"; break; case 8:monthName = "August"; break; case 9:monthName = "Septemper"; break; case 10:monthName = "October";break; case 11:monthName = "November"; break; case 12:monthName = "December"; } return monthName; } public static void printMonthBody(int year, int month){ int startDay = getStartDay(year, month); int numberOfDaysInMonth = getNumberOfDaysInMonth(year, month); int i = 0; for (i = 0; i < startDay; i++) System.out.print(" "); for (i = 1; i <= numberOfDaysInMonth; i++){ System.out.printf("%4d", i); if ((i + startDay) % 7 == 0) System.out.println(); } System.out.println(); } public static int getStartDay(int year, int month){ final int START_DAY_FOR_JAN_1_1800 = 3; int totalNumberOfDays = getTotalNumberOfDays(year, month); return (totalNumberOfDays + START_DAY_FOR_JAN_1_1800) % 7; } public static int getTotalNumberOfDays(int year, int month){ int total = 0; for (int i = 1800; i < year; i++) if(isLeapYear(i)) total = total + 366; else total = total + 365; for (int i = 1; i < month; i++) total = total + getNumberOfDaysInMonth(year, i); return total; } public static int getNumberOfDaysInMonth(int year, int month){ if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12) return 31; if (month == 4 || month == 6 ||month == 9 || month == 11) return 30; if (month == 2) return isLeapYear(year) ? 29 : 28; return 0; } public static boolean isLeapYear(int year){ return year % 400 == 0 || (year % 4 == 0 && year % 100 != 0); } }
package chapter5方法; public class RandomCharacter { public static char getRandomCharacter(char ch1, char ch2){ return (char)(ch1 + Math.random() * (ch2 - ch1 + 1)); } public static char getRandomLowerCaseLetter(){ return getRandomCharacter('a', 'z'); } public static char getRandomUpperCaseLetter(){ return getRandomCharacter('A', 'Z'); } public static char getRandomDigitCharacter(){ return getRandomCharacter('0', '9'); } public static char getRandomCharcter(){ return getRandomCharacter('\u0000', '\uFFFF'); } }
package chapter5方法; public class TestMethodOverloading { public static void main(String[] args){ System.out.println("The maximum between 3 and 4 is " + max(3, 4)); System.out.println("The maximun between 3.0 and 5.4 is " + max(3.0, 5.4)); System.out.println("The maximum between 3.0, 5.4, and 10.14 is " + max(3.0, 5.4, 10.14)); } public static int max(int num1, int num2){ if (num1 > num2) return num1; else return num2; } public static double max(double num1, double num2){ if (num1 > num2) return num1; else return num2; } public static double max(double num1, double num2, double num3){ return max(max(num1, num2), num3); } }
package chapter5方法; public class TestRandomCharacter { public static void main(String args[]){ final int NUMBER_OF_CHARS = 50; //打印的字符数,循环次数; final int CHARS_PER_LINE = 25; for (int i = 0; i < NUMBER_OF_CHARS; i++){ char ch = RandomCharacter.getRandomLowerCaseLetter(); if ((i + 1) % CHARS_PER_LINE == 0) System.out.println(ch); //打印并换行; else System.out.print(ch + " "); //打印不换行; } } }
相关文章推荐
- Java语言程序设计-基础篇-第八版-复习题-第五章
- Java语言程序设计-基础篇-第八版-编程练习题-第五章
- Java语言程序设计-基础篇-第八版-第二章
- Java语言程序设计--基础篇(第八版)第一章概述
- Java语言程序设计-基础篇-第八版-复习题-第八章
- Java语言程序设计-基础篇-第八版-第四章
- Java语言程序设计-基础篇-第八版-复习题-第九章
- Java语言程序设计-基础篇-第八版-复习题-第一章
- Java语言程序设计-基础篇-第八版-复习题-第二章
- Java语言程序设计-基础篇-第八版-复习题-第四章
- Java语言程序设计-基础篇-第八版-复习题-第七章
- Java语言程序设计-基础篇-第八版-第八章
- Java语言程序设计-基础篇-第八版-第六章
- Java语言程序设计-基础篇-第八版-第九章
- Java语言程序设计-基础篇-第八版-编程练习题-第一章
- Java语言程序设计-基础篇-第八版-第七章
- Java语言程序设计-基础篇-第八版-编程练习题-第七章
- Java语言程序设计-基础篇-第八版-编程练习题-第二章
- Java语言程序设计-基础篇-第八版-编程练习题-第八章
- Java语言程序设计-基础篇-第八版-复习题-第六章