《Java-第六章程序清单》由会员分享,可在线阅读,更多相关《Java-第六章程序清单(9页珍藏版)》请在金锄头文库上搜索。
1、习题6.2求一个整数各位数之和import;publicclasssumIf publicstaticvoid main(String args) / TODO Auto-generated method stubSystem.out.print(请输入一个整数:);Scanner input = newScanner(System.in);longn = input.nextInt();System.out.print(输入的整数i= + n + 的各个数字的和是 + sumDigits(n);publicstaticlongsumDigits(longk)longsum = 0;while
2、(k != 0) sum += k % 10;k /= 10;returnsum;习题6.4反向显示一个整数import;publicclass reverse publicstaticvoid main(String args) / TODO Auto-generated method stubSystem.out.print(请输入一个整数);Scanner input = newScanner(System.in);intnumber1 = input.nextInt();reverse(number1);publicstaticintreverse(intnumber) inti;wh
3、ile(number != 0)System.out.print(number%10);number /= 10;return 0;习题6.6显示图案,此方法只能在10以内对其importjava.util.*;publicclass displayPattern1 publicstaticvoid main(String args) / TODO Auto-generated method stubSystem.out.print(请输入一个整数);Scanner input = newScanner(System.in);intn = input.nextInt();displayPatt
4、ern(n);publicstaticvoiddisplayPattern(inti) for(intj = 1; j = i; j+) for(intk = 0; k = 10)( );for(intk = j; k 0; k-) System.out.print(k + );System.out.println();程序清单6-1调用max方法publicclassTestMax publicstaticvoid main(String args) / TODO Auto-generated method stubinti = 5;intj = 2;intk = max(i, j);Sys
5、tem.out.println(the maxinum of + i + and + j + is + k);publicstaticint max(intnum1, intnum2) intresult;if (num1 num2)result = num1;elseresult = num2;returnresult;程序清单6-2void方法例如,打印给定分数的等级publicclassTestVoidMethod publicstaticvoid main(String args) / TODO Auto-generated method stubSystem.out.print(Th
6、e grade is );printGrade(78.5);System.out.print(The grade is );printGrade(59.5);publicstaticvoidprintGrade(doublescore) if(score =90.0) System.out.println(A);elseif(score =80.0) System.out.println(B);elseif(score =70.0) System.out.println(C);elseif(score =60.0) System.out.println(D);else System.out.p
7、rintln(F);程序清单6-3void方法的例如,与程序清单做比照,打印一个分数的等级publicclassTestReturnVoidMethod publicstaticvoid main(String args) System.out.print(The frade is + getGrade(78.5);System.out.print(nThefrade is + getGrade(59.5);publicstaticchargetGrade(doublescore) if (score = 90)returnA;elseif (score = 80)returnB;elseif
8、 (score = 70)returnC;elseif (score = 60)returnD;elsereturnF;程序清单6-4通过传值进行参数传递publicclass Increment publicstaticvoid main(String args) / TODO Auto-generated method stubintx = 1;System.out.println(Before the call, x is + x);increment(x);System.out.println(After the call, x is + x);publicstaticvoid inc
9、rement(intn) n+;System.out.println(n inside the method is + n);程序清单6-5按值传递参数publicclassTestPassByValue publicstaticvoid main(String args) / TODO Auto-generated method stubintnum1 = 1;intnum2 = 2;System.out.println(Before invoking the swap method, num1 is + num1 + and num2 is + num2);swap(num1,num2);
10、System.out.println(After invoking the swap method, num1 is + num1 + and num2 + num2);publicstaticvoid swap(intn1, intn2) System.out.println(tIside the method);System.out.println(ttBefore swapping, n1 is + n1 + and n2 is + n2);inttemp = n1;n1 = n2;n2 = temp;System.out.println(ttAfter swapping, n1 is
11、+ n1 + and n2 is + n2);程序清单6-6程序模块化_求最大公约数import;publicclassGreatestCommonDivisorMethod publicstaticvoid main(String args) / TODO Auto-generated method stubScanner input = newScanner(System.in);System.out.print(Enter first integer: );intn1 = input.nextInt();System.out.print(Enter scond integer: );in
12、tn2 = input.nextInt();System.out.println(The greatest common divisor for + n1 + and + n2 + is + gcd(n1, n2);publicstaticintgcd(intn1, intn2) intgcd = 1;intk = 2;while (k = n1 & k = n2) if (n1 % k =0 & n2 % k = 0)gcd = k;k+;returngcd;程序清单6-7程序模块化,打印50以内的素数,输出结果与书上不一致publicclassPrimeNumberMethod publi
13、cstaticvoid main(String args) / TODO Auto-generated method stubSystem.out.println(The first 50 prime numbers are n);printprimeNumbers(50);publicstaticvoidprintprimeNumbers(intnumberOfPrimes) finalintNUMBER_OF_PRIMES_PER_LINE = 10;intcount = 0;intnumber = 2;while(count numberOfPrimes) if(isPrime(number) count+;if(count % NUMBER_OF_PRIMES_PER_LINE = 0) System.out.printf(%-5sn, number);elseSystem.out.printf(%-5s, number);number+;publicstaticbooleanisPrime (intnumber)for(intdivisor = 2; divisor = number / 2 ; divisor+) if(number % divisor = 0) returnfalse;returntrue;程序清单6-8将16进制转换为十进制