南京邮电大学java程序设计作业在线编程第四次作业
王利国的的 “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 ) + " " );
}
}
}
版权声明:本文为liguo-wang原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。