JSD1308第一次月考答案.docx
《JSD1308第一次月考答案.docx》由会员分享,可在线阅读,更多相关《JSD1308第一次月考答案.docx(7页珍藏版)》请在冰豆网上搜索。
![JSD1308第一次月考答案.docx](https://file1.bdocx.com/fileroot1/2023-1/6/5ab85dab-410a-4322-8da3-18fd78595b29/5ab85dab-410a-4322-8da3-18fd78595b291.gif)
JSD1308第一次月考答案
JSD1308第一次月考-答案
1.下列代码编译和运行的结果是:
publicstaticvoidmain(String[]args){
String[]elements={A{
voidprocess(){
System.out.println(属于Card类构造方法的是:
()
A.
Card(){}
B.
publicCard(){}
C.
publicvoidCard(){}
D.
privateCard(){}
正确答案:
C
15.关于下列代码说法不正确的是:
10.interfaceFoo{
11.intbar();
12.}
13.
14.publicclassBeta{
15.
16.classAimplementsFoo{
17.publicintbar(){return1;}
18.}
19.
20.publicintfubar(Foofoo){returnfoo.bar();}
21.
22.publicvoidtestFoo(){
23.
24.classAimplementsFoo{
25.publicintbar(){return2;}
26.}
27.
28.System.out.println(fubar(newA()));
29.}
30.
31.publicstaticvoidmain(String[]argv){
32.newBeta().testFoo();
33.}
34.}
A.编译错误
B.运行代码输出:
2
C.如果删除16,17,18行,运行代码应然输出:
2
D.如果删除24,25,26行,运行代码输出:
1
正确答案:
A
因为System.out.println(fubar(newA()));中new的是testFoo()中的classA,最后return的是2
因为当你161718都删除之后并不影响到程序的运行,结果是2也是因为System.out.println(fubar(newA()));中new的是testFoo()中的classA
因为当删除242526之后System.out.println(fubar(newA()));中new的是Beta类中的一个内部类,名字和你删除的那个classA名字是一样的,但是影响的范围不同,Beta类下的A是影响整个Beta,而testFoo()函数中的A只是影响testFoo()函数中的,当new的时候会先在函数中找有没有相关类A,没有的话就会在类中去找有没有相关的类A,如果还没有还会接着向上一级去寻找,知道找到为止,或者是没有找到就会报错了
16.下列不属于Java运算符的是()。
A.
!
=
B.
<>
C.
>>
D.
<<
正确答案:
B
17.下面关于数组的声明语句中,有编译错误的是:
()。
A.int[]arr=newint[]{1,2,3};
B.int[]arr=null;
arr={1,2,3,4,5};
C.int[][]arr=newint[][]{{1,2,3},{4,5},{6}}
D.int[][]arr=newint[2][];
正确答案:
B
18.下列代码的输出结果是:
publicstaticvoidmain(String[]args){
Queuequeue=newLinkedList();
queue.offer(tion());
}
}
A.Scrumdiddlyumptious
Scrumdiddlyumptious
B.Scrumdiddlyumptious
Fizzylifltng
C.Gobstopper
Scrumdiddlyumptious
D.Gobstopper
Fizzylifting
正确答案:
D
20.
下列代码的输出结果是:
()。
publicclassA{
publicvoidinfo(){
System.out.println(+ngth-strNew.length();
str=strNew;
System.out.println(first+ntln(StringUtils.rightPad(h
C.
iD.
i正确答案:
C
37.
歌德巴赫猜想的近似证明
歌德巴赫猜想是说任何一个大于2的偶数都能表示为两个素数之和,请编写一个Java程序,验证1~100内歌德巴赫猜想的正确性。
publicclassGuess{
publicstaticvoidmain(String[]args){
System.out.println(ag;
}
}
(1).
下列选项中,能填入空白处1的代码是()
A.
i%2==0&&i>2
B.
i%2==0&&i<2
C.
i/2==0&&i>2
D.
i/2==0&&i<2
正确答案:
A
(2).
下列选项中,能填入空白处2的代码是()
A.
i<=a%i;
B.
i<=a/i;
C.
i<=a%2;
D.
i<=a/2;
正确答案:
D
(3).
下列选项中,能填入空白处3的代码是()
A.
isPrime(i-1)&&isPrime(a-i)
B.
isPrime(i)&&isPrime(a+i)
C.
isPrime(i)&&isPrime(a-i)
D.
isPrime(i)&&isPrime(a)
正确答案:
C
(4).
下列选项中,能填入空白处4的代码是()
A.
final;
B.
break;
C.
continue;
D.
static;
正确答案:
B
(5).
下列选项中,能填入空白处5的代码是()
A.
n=2;n<=i-1;n++
B.
n=2;n<=i;n++
C.
n=1;n<=i-1;n++
D.
n=1;n<=i;n++
正确答案:
A
38.
矩阵是指纵横排列的数据表格,最早来自于方程组的系数及常数所构成的方阵,如:
a11a12...a1n
a21a22...a2n
.........
am1am2...amn
矩阵乘积规则示例如下:
两个矩阵a和b可以相乘的条件是a矩阵的列数和b矩阵的行数相同,例如:
假设矩阵a为“2行3列”:
a11a12a13
a21a22a23
矩阵b为“3行2列”:
b11b12
b21b22
b31b32
a和b可以相乘,乘积矩阵为:
a11*b11+a12*b21+a13*b31a11*b12+a12*b22+a13*b32
a21*b11+a22*b21+a23*b31a21*b12+a22*b22+a23*b32
Matrix类的定义如下:
publicclassMatrix{
privatedouble[][]data;
privateintrows;
privateintcols;
publicMatrix(introws,intcols){
if(rows<=0||cols<=0)
thrownewIllegalArgumentException(
publicStringtoString(){
StringBuildersb=newStringBuilder();
for(inti=0;ifor(intj=0;jsb.append(data[i][j]).append