王利國的的 “Java語言程序設計第4次作業(2018)” 詳細
總分:100
選擇題得分:40
1.下列方法定義中,正確的是()
A.double me(int a,int b){int r; r = ab}
B.double me(a,b){return b;}
C.int me(int a,int b){return(ab);}
D.int我(inta,b){return(ab);}
2.下列方法定義中,不正確的是()
A.float x(int a,int b){return(ab);}
B.int x(int a,int b){return ab;}
C.int x(int a,int b){return a * b;}
D.int x(int a,int b){return 1.2 *(a + b);}
3.下面哪個數據類型占用的內存最大?()
A.int
B.float
C.double
D.byte
4.下面哪個不屬於Java的關鍵字?()
A.static
B.final
C.super
D.sub
5.下面的標識符中哪個是合法的標識符?()
一.--一
B.Test
C.class
D.#ABC
6.下列語句序列執行后,c的值是()int a = 3,b = 4,c = 0; ((a ++)<( - b))++ c;
A.0
B.1
C.2
D.3
7.下面關於數組定義語句不正確的是()
A.float f [] = new {2.4f,3.5f,5.7f,7.9f};
B.int a [] = {1,2,3,4,5}
C.double [] d = new double [10];
D.int [] a2;
8.下面()是Java數據類型中的int類型的取值范圍。
A.-2 <SUP> 7 </ SUP>〜2 <SUP> 7 </ SUP> -1
B.0〜2 <SUP> 16 </ SUP> -1
C.-2 <SUP> 15 </ SUP> -2 <SUP> 15 </ SUP> -1
D.-2 <SUP> 31 </ SUP>〜2 <SUP> 31 </ SUP> -1
9.在Java語言中,下面()類型可以表示整數基本數據類型。
A.single
B.byte
C.double
D.char
10.假設int a = -3; 則表達式a> 0?a:-a的結果是()
A.true
B.false
C.-3
D.3
編程題得分:60
4-3-8輸出所有的3位數字的質數得分:10/10
/** * @Author liguo * @Description * @Data 2018-04-12 */ public class Main { static boolean judege(int i) { int temp = (int) Math.sqrt( i ); boolean flag = true; for (int j = 2; j <= temp; j++) { if (i % j == 0) { flag = false; break; } } return flag; } public static void main(String[] args) { int count = 0; for (int i = 100; i < 1000; i++) { if (judege( i )) { System.out.format( "%6s", i ); count++; if (count % 5 == 0) System.out.println(); } } } }
4-3-6數列求和得分:10/10
import java.util.Scanner; /** * @Author liguo * @Description 輸入一個雙精度實數x,計算並輸出下式的值, * 直到最后一項的絕對值小於10-5(保留兩位小數), * s=x-x2/2!+x3/3!-x4/4!+… * 說明:求和結果用".2f"控制輸出格式,以保留小數點后2位。 * 輸入描述 * 輸入一個雙精度實數 * 輸出描述 * 以“sum=數列和”的格式輸出對應的數列和,結果用".2f"控制輸出格式,以保留小數點后2位 * @Data 2018-04-12 */ public class Main { /** * 求階乘 * * @param i * @return */ static int f(int i) { if (i <= 1) return 1; else return i * f( i - 1 ); } public static void main(String[] args) { Scanner in = new Scanner( System.in ); // double num = Math.pow( 10, -5 ); // double x, t = 0, sum = 0; // int sign = -1; // x = in.nextDouble(); // int i = 1; // t = Math.pow( x, i ) / f( i ); // while (t > num) { //s=x-x2/2!+x3/3!-x4/4!+… // sign = -sign; // sum += sign * t; // // i = i + 1; // t = Math.pow( x, i ) / f( i ); double x, t = 1, i = 1, sum = 0; int sign = 1; // scanf("%lf", &x); x = in.nextDouble(); do { t = t * x/i; sum += sign*t; sign = -sign; ++i; } while(t >= 1e-5); // printf("sum=%.2f\n", sum); System.out.printf( "sum=%.2f", sum ); } }
4-3-5最大公約數得分:10/10
import java.util.Scanner; /** * @Author liguo * @Description * @Data 2018-04-12 */ public class Main { public static int gcd(int a, int b) { while(b != 0) { int temp = a%b; a = b; b = temp; } return a; } public static void main(String[] args) { Scanner in = new Scanner( System.in ); int a = in.nextInt(); int b = in.nextInt(); System.out.println("gcd="+gcd( a,b )); } }
4-3-3輸出斐波那契數列的前10得分:10/10
/** * @Author liguo * @Description * @Data 2018-04-12 */ public class Main { public static int Fibonacci(int n) { if (n == 0) return 0; else if (n <= 2) return 1; else { return Fibonacci( n - 1 ) + Fibonacci( n - 2 ); } } public static void main(String[] args) { for (int i = 1; i <= 10; i++) { // System.out.format( "%3s",Fibonacci( i ) ); System.out.print( Fibonacci( i ) + " " ); } } }