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

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

2019/09/15 java NJUPT
Word count: 1,626 | Reading time: 8min

选择题得分:60

\1. 设有如下定义语句: String s1=”My cat”; int m=s1.compareTo(“My a cat”); 语句被执行后m的值为( )

A.2

B.1

C.0

D.-2

正确答案是: A

\2. 语句 String s1=new String(“Hello”); String s2=new String(“Hello”); System.out.println(s1==s2); System.out.printlv(s1.equals(s2)); 执行后的输出结果是( )

A.Hello false

B.Hello true

C.Hello Hello

D.false true

正确答案是: D

\3. 执行下列语句 int[] lx={2,3,4,5}; lx[3]=lx[3]==–lx[0]?++lx[1]:lx[2]–; 后,数组lx的元素值分别为( )

A.1,2,3,4

B.1,3,3,3

C.1,2,3,3

D.1,3,3,4

正确答案是: D

\4. 在一个应用程序中定义了数组a:int[] a={1,2,3,4,5,6,7,8,9,10},为了打印输出数组a的最后一个数组元素,下面正确的代码是( )

A.System.out.println(a[10]);

B.System.out.println(a[9]);

C.System.out.println(a[8]);

D.System.out.println(a[a.length]);

正确答案是: B

\5. 设有定义语句int a[]={36,72,99};则以下对此语句叙述错误的是( )

A.该语句定义了一个名为a的一维数组;

B.a数组有3个元素;

C.数组中的每个元素是整型;

D.a数组的元素的下标为1~3;

正确答案是: D

\6. 下面关于数组定义语句不正确的是( )

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;

正确答案是: A

\7. 下列语句序列执行后,c的值是( ) int a=3,b=4,c=0; while ((a++)<(–b))++c;

A.0

B.1

C.2

D.3

正确答案是: A

\8. 下列语句序列执行后,a的值是( ) int a=1; for(int i=5;i>0;i-=2) a*=i;

A.0

B.1

C.15

D.60

正确答案是: C

\9. 下列语句序列执行后,c的值是( ) int a=10,b=18,c=30; switch(b-a){ case 8 : c++; case 9 : c+=2; case 10 : c+=3; default :c/=b; }

A.31

B.32

C.2

D.33

正确答案是: C

\10. 设a、b为int型变量,c、d为fload类型变量,ch为char类型变量,且所有变量均已赋值,则下列正确的switch语句是( )

A.switch(a+b);{…}

B.switch(ch+1){…}

C.switch ch {…}

D.switch(c+d){…}

正确答案是: B

\11. 下列语句序列执行后,c的值是( ) int a=4,b=5,c=9,d=6; if (a>b||c<d) c–; else c++;

A.6

B.10

C.8

D.9

正确答案是: B

\12. 下列语句序列执行后,c的值是( ) int a=6,b=3,c=5; if (a==b) c+=a;else c=++a*c;

A.15

B.25

C.35

D.45

正确答案是: C

\13. 下列语句序列执行后,c变量的值为( ) int a=2,b=4,c=5; if (a<–b) c*=a;

A.5

B.20

C.15

D.10

正确答案是: D

\14. 下列语句序列执行后,ch1变量中的值为( ) char ch1=’A’,ch2=’B’; if (ch1+2<ch2)++ch1;

A.‘A’

B.‘B’

C.A

D.B

正确答案是: A

\15. 以下选项中,合法的赋值语句是( )

A.++m!=n–;

B.++m;

C.m=m+1=5;

D.m==1;

正确答案是: B

\16. 设有定义“int a=22;long b=56;”,下面赋值不正确的语句是( )

A.a=b;

B.b=(long)a;

C.a=(int)b;

D.b=a;

正确答案是: A

\17. 下面选项中,( )是正确的输出结果 int m=2,n=1; m+=m-=n; System.out.println(“m=”+m);

A.m=1

B.m=2

C.m=3

D.m=4

正确答案是: C

\18. 下列语句序列执行后的结果为( ) int a=10,b=4,c=20,d=6; System.out.println(a++b+c–d);

A.144

B.140

C.28

D.不能执行

正确答案是: B

\19. 假设以下选项中的变量都已经正确定义,则不合法的表达式是( )

A.a>4==6<1;

B.’n’-3;

C.’a’=8;

D.’A’%6

正确答案是: C

\20. 假设a为已经声明并以赋初值的int类型变量,则对于a的赋值语句正确的是( )

A.int a=6;

B.a==3;

C.a=3.2f;

D.a+=a*3;

正确答案是: D

编程题得分:40

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
import java.util.Scanner;
import java.io.*;
/**
* @author Mr.li
* @Date 2019年3月7日
*/
public class Main {
public static boolean isYeap(int year) {
if ( year%4==0 && year%100 != 0 )
return true;
if (year%400 == 0)
return true;
return false;
}

public static void main(String []args) {
Scanner s = new Scanner(System.in);
int a = s.nextInt();
int b = s.nextInt();

int yeap[] = {31,29,31,30,31,30,31,31,30,31,30,31};
int noyeap[] = {31,28,31,30,31,30,31,31,30,31,30,31};

if ( isYeap(a) )
System.out.println(""+a+"-"+b+"-"+yeap[b-1]+"");
else
System.out.println(""+a+"-"+b+"-"+noyeap[b-1]+"");
}
}

4-3-2 百分制成绩转换等级制成绩 得分: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
import java.util.Scanner;
import java.io.*;
/**
* @author Mr.li
* @Date 2019年3月7日
*/
public class Main {
public static void main(String []args) {
Scanner s = new Scanner(System.in);
int a = s.nextInt();

if ( a<0 || a > 100) System.out.printf("Error input\n");
else {
int REa = a/10;

switch (REa) {
case 6:
System.out.printf("%d -- %c\n",a,'D');
break;
case 7:
System.out.printf("%d -- %c\n",a,'C');
break;
case 8:
System.out.printf("%d -- %c\n",a,'B');
break;
case 9:
case 10:
System.out.printf("%d -- %c\n",a,'A');
break;
default:
System.out.printf("%d -- %c\n",a,'E');
}
}
}
}

用if语句求解分段函数 得分:10 / 10

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

import java.util.Scanner;
import java.io.*;
/**
* @author Mr.li
* @Date 2019年3月7日
*/
public class Main {
public static void main(String []args) {
Scanner s = new Scanner(System.in);
double a = s.nextDouble();
double b=0;

if (a<20) b=a+100;
else if ( a>100 ) b=a-100;
else b=a;

System.out.printf("x=%.2f,y=%.2f\n",a,b);
}
}

2-2 混合类型数据格式化输入 得分:10 / 10

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

import java.util.Scanner;
import java.io.*;
/**
* @author Mr.li
* @Date 2019年3月7日
*/
public class Main {
public static void main(String []args)throws IOException {
Scanner s = new Scanner(System.in);
double d1 = s.nextDouble();
int i = s.nextInt();
String ss = s.next();
char ch = ss.charAt( 0 );
double d2 = s.nextDouble();

System.out.printf("%c %d %.2f %.2f",ch,i,d1,d2);
}
}

3-4-1a 计算三位数的位数和 得分:10 / 10

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import java.util.Scanner;
import java.io.*;
/**
* @author Mr.li
* @Date 2019年3月7日
*/
public class Main {
public static void main(String []args)throws IOException {
Scanner s = new Scanner(System.in);
int n = s.nextInt();
int sum = 0;
if ( n < 0) n = -n; // 保证绝对值

while(n!=0) {
int left = n%10;
sum += left;
n/= 10;
}

System.out.printf("%d\n",sum);
}
}

Author: Mrli

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

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

< PreviousPost
ACM-快速幂
NextPost >
Linux下开机启动Python脚本
CATALOG
  1. 1. 选择题得分:60
  2. 2. 编程题得分:40
    1. 2.1. 1.打印每月有几天 得分:10 / 10
    2. 2.2. 4-3-2 百分制成绩转换等级制成绩 得分:10 / 10
    3. 2.3. 用if语句求解分段函数 得分:10 / 10
    4. 2.4. 2-2 混合类型数据格式化输入 得分:10 / 10
    5. 2.5. 3-4-1a 计算三位数的位数和 得分:10 / 10