Mrli
别装作很努力,
因为结局不会陪你演戏。
Contacts:
QQ博客园

南京邮电大学java程序设计作业在线编程第五次作业

2019/09/15 java NJUPT
Word count: 1,363 | Reading time: 7min

总分:100

选择题得分:50

    1. 以下哪一个工具是Java的编译器?( )

A.javac.exe

B.java.exe

C.javap.exe

D.javadoc.exe

正确答案是: A

    1. 以下哪一个数据类型不属于Java的基本数据类型?( )

A.boolean

B.char

C.int

D.String

正确答案是: D

    1. 假设有如下类的定义: public class test{ public static void main(String[] args){ int a= 3, b = 4; swap(a,b); System.out.println(“a=”+a + " b=" + b); } public static void swap(int a,int b){ int tmp = a; a = b; b = tmp; } } 程序运行后结果为( )

A.a=4 b=3

B.a=3 b=4

C.a=a b=b

D.无结果输出

正确答案是: B

    1. 执行如下代码后,b的值是( ) int a=0, b=0; do{ --b; a = a-1; }while(a>0);

A.0

B.1

C.-1

D.死循环

正确答案是: C

    1. 下列关于Java中的数组的说法,错误的是( )。

A.数组中的元素的类型必须相同

B.数组中的元素是有顺序的

C.数组对象,属于引用类型

D.数组的大小可以任意改变

正确答案是: D

    1. 在循环体中,如果想结束本次循环,可以使用哪个语句?( )。

A.break

B.continue

C.final

D.finally

正确答案是: B

    1. 下列标识符中,哪一个是非法标识符?( )

A.statics

B.static_10

C.10static

D.$statics10

正确答案是: C

    1. 设有数组的定义int[] a = new int[3],则下面对数组元素的引用错误的是( )。

A.a[0]

B.a[a.length-1]

C.int i=0;a[i]

D.a[a.length]-1

正确答案是: D

    1. int a=new int[2][3],则该数组包含( )个数组元素。

A.2

B.3

C.6

D.不确定

正确答案是: C

    1. 下面的代码段执行之后count的值是什么( ) int count = 1; for (int i = 1; i <= 5; i++) { count += i; } System.out.println(count);

A.5

B.1

C.15

D.16

正确答案是: D

编程题得分:50

数字加密 得分:10 / 10

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import java.util.Scanner;
import java.io.*;

/**
* @author Mr.li
* @Date 2019年3月17日
*/
public class Main {
public static void main(String []args)throws IOException {
Scanner s = new Scanner(System.in);
int n = s.nextInt();

int arr[] = new int[4];
int cnt = 3;

while(n!=0) {
arr[cnt--] = (n%10 + 9)%10;
n /= 10;
}

System.out.printf("The encrypted number is %d%d%d%d\n",arr[2],arr[3],arr[0],arr[1]);
}
}

数列排序 得分:10 / 10

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45

import java.util.Scanner;
import java.io.*;

/**
* @author Mr.li
* @Date 2019年3月17日
*/
public class Main {
public static void main(String []args)throws IOException {
Scanner s = new Scanner(System.in);
int arr[] = new int[20];
int len = arr.length;
for(int i=0; i < len; i++) arr[i] = s.nextInt();
bubble(arr);
for(int i=0; i < len; i++) {
System.out.printf("%4d",arr[i]);
if ( i == len-1) System.out.println();
//else System.out.print(" ");
}
}


/**
* @Target: 冒泡排序
* @param arr待排数组
*/
public static void bubble(int arr[]) {
int start = 5; // 第6个元素的下标是5
int len = 14; // 第15个元素的下标是14
int tmp ; // 交换的临时变量

for (int i = start; i < len; i++) {
for (int j = start; j < len-(i-start); j++) {
// 类比从0 开始的冒泡,这边需要改成len-(i-start),因为j的范围只能是(start,len)
if ( arr[j] < arr[j+1]) {
tmp = arr[j+1];
arr[j+1] = arr[j];
arr[j] = tmp;
}
}
}
}

}

打印杨辉三角形 得分:10 / 10

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import java.util.Scanner;
import java.io.*;

/**
* @author Mr.li
* @Date 2019年3月17日
*/
public class Main {

public static void main(String []args)throws IOException {
Scanner s = new Scanner(System.in);
int hang = s.nextInt();
int arr[][] = new int[hang][hang];
arr[0][0] = 1;
for (int i = 1; i < hang ; i++) {
arr[i][0] = 1;
arr[i][i] = 1;
for (int j = 1; j < hang; j++) {
arr[i][j] = arr[i-1][j] + arr[i-1][j-1];
}
}

for (int i = 0; i < hang ; i++) {
for (int j = 0; j < hang; j++) {
if (arr[i][j] != 0 )
System.out.printf("%5d",arr[i][j]);
}
System.out.println();
}
}
}

构造指定的数列 得分:10 / 10

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
import java.util.Scanner;
import java.io.*;

/**
* @author Mr.li
* @Date 2019年3月17日
*/
public class Main {
public static void main(String []args)throws IOException {
Scanner s = new Scanner(System.in);
int a = s.nextInt();
int b = s.nextInt();
int cnt = 0 ;
int arr[] = new int[1000];
for (int i = a; i <= b; i++) {
if ( i % 7 == 0 || i % 11 == 0) {
if ( !(i % 7 == 0 && i % 11 == 0) )
arr[cnt++] = i;
}
}
for(int x : arr)
if ( x!= 0)
System.out.printf("%d ",x);
}
}

求平均值 得分:10 / 10

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48

import java.io.IOException;
import java.util.Arrays;
import java.util.Scanner;

/**
* @author Mr.li
* @Date 2019年3月17日
*/
public class Main {
public static void main(String []args)throws IOException {
Scanner s = new Scanner(System.in);
int num = s.nextInt();
int sum = 0; //去除最大最小值的总和
int cnt = 0; //要去掉的个数

int arr[] = new int[num];
for (int i = 0; i < num; i++) arr[i]= s.nextInt();

Arrays.sort(arr); // 排序,默认从大到小
System.out.printf("max element:%d\n", arr[num-1]);
// 第一个是最大的
System.out.printf("min element:%d\n", arr[0]);
// 最后一个是最小的

// 去掉最大和最小项
for (int i = 1; i < num-1; i++) {
if ( arr[i] == arr[0] || arr[i] == arr[num-1] ) {
arr[i] = 0 ;
cnt ++ ;
}
}

// 是否全是最小最大值
boolean flag = false;
for (int i = 1; i < num-1; i++) {
if (arr[i] != 0) {
flag = true;
sum += arr[i];
}
}

if (flag == true)
System.out.printf("average is %5.2f\n", (double)sum/(num-(cnt+2)));
else
System.out.printf("no solution\n");
}
}

Author: Mrli

Link: https://nymrli.top/2019/03/17/南京邮电大学java程序设计作业在线编程第五次作业/

Copyright: All articles in this blog are licensed under CC BY-NC-SA 3.0 unless stating additionally.

< PreviousPost
南京邮电大学java程序设计作业在线编程第六次作业
NextPost >
Linux命令手册
CATALOG
  1. 1. 总分:100
    1. 1.1. 选择题得分:50
    2. 1.2. 编程题得分:50
      1. 1.2.1. 数字加密 得分:10 / 10
      2. 1.2.2. 数列排序 得分:10 / 10
      3. 1.2.3. 打印杨辉三角形 得分:10 / 10
      4. 1.2.4. 构造指定的数列 得分:10 / 10
      5. 1.2.5. 求平均值 得分:10 / 10