王利国的的 “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 ) + " " ); } } }