Java程序设计

单选题现有代码片段:String s="123";String sl=S+456;请问sl的结果是哪项?()A 123456B 579C 编译错误D 运行时抛出异常

题目
单选题
现有代码片段:String s="123";String sl=S+456;请问sl的结果是哪项?()
A

123456

B

579

C

编译错误

D

运行时抛出异常

如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

下列给定程序中函数fun()的功能是;先将在字符串s中的字符按逆序存放到t串中,然后把s中的字符按正序连接到t串的后面。例如:当s中的字符串为ABCDE时,则t中的字符串应为EDCBAABCDE。

请改正程序中的错误,使它能得出正确的结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。

试题程序:

include <conio.h>

include <stdio.h>

include <string.h>

void fun (char *s, char *t )

{

int i,sl;

sl=strlen(s);

for (i=0;i<sl;i++)

t[i]=s[sl-1];

for (i=0; i<sl; i++)

/*************found**************

t [sl+i]=s [i];

t [2*sl]-'\0';

}

main ( )

{ char s[100], t[100];

clrscr();

printf("\nPlease enter string s: ");

scanf ("%s", s);

fun (s,t);

printf ("The result is: %s\n",t);

}


正确答案:错误: t[i]=s[s1-1]; 正确: t[i]=s[s1-1-i];
错误: t[i]=s[s1-1]; 正确: t[i]=s[s1-1-i]; 解析:该题也是几个循环语句的嵌套使用,难度并不大,重要的足要读懂程序,题目中赋值语句t[i]=s[]s1-1;并不能完成累计循环,所以正确的应该是t[i]=s[s1-1-i];。

第2题:

importjava.util.*;

publicclassNameList{

privateListnames=newArrayList();

publicsynchronizedvoidadd(Stringname){names.add(name);}

publicsynchronizedvoidprintAll(){

for(inti=0;iSystem.out.print(names.get(i)+);

}

}

publicstaticvoidmain(String[]args){

finalNameListsl=newNameList();

for(inti=0;i<2;i++){

newThread(){

publicvoidruin(){

sl.add(”A”);

sl.add(”B”);

sl.add(”C”);

sl.printAll();

}

}.start();

}

}

}

Whichtwostatementsaretrueifthisclassiscompiledandrun?()


参考答案:E, F

第3题:

下面是一个类的定义,试将程序补充完整。

class A{

String s;

____int a=66;

A(String sl){

s=sl;

}

static int geta(){

return a;

}

}


正确答案:static
static 解析:本题考查Java中的修饰符。static方法只能处理static成员,非static方法不能处理static成员。所以题目中的geta()方法声明是static的,所以其中的变量必须也声明为 static属性。

第4题:

若已包括头文件<string.h>且已有定义char sl [18],s2={"ABCDE")和int i,现要将字符串”ABCDE”赋给sl,下列语句错误的是( )。

A.strcpy(s1,s2)

B.strcpy(s1,"ABCDE");

C.sl="ABCDE";

D.for(i=0;i<6;i++)sl[i]=s2[i]


正确答案:C
数组名sl是代表sl数组首地址的地址常量,因为“=”左边不能出现常量,所以s1="ABCDE"的方法是错误的。

第5题:

下列代码的执行结果是( )。 public class Test{ public static void main String args[]){ String s1=new String("welcome"); String s2=new String("welcome"); System.out.println(s1==s2); System.out.println(s1.equals(s2)); } }

A.false,false

B.false,true

C.true,true

D.true,false


正确答案:B

第6题:

现有代码片段:Strings="123";Stringsl=S+456;请问sl的结果是哪项?()

A.123456

B.579

C.编译错误

D.运行时抛出异常


参考答案:A

第7题:

下列程序的执行结果是 public class Testff{ public static void main(String args[]){ String sl=new String("I am boy"); String s2=new String("I am boy"); System.out.println(sl==s2); } }

A.真

B.假

C.I am boy

D.都不正确


正确答案:B
解析:在Java语言中,“==”不仅可以用于基本数据类型之间的比较,还可以用于复合数据类型之间的比较。对于复合类型的“==”运算,其比较的目标是两个操作数是否是同一个对象,虽然题目中,a1和s2的值都是Iamboy,但是它们是不同的对象,比较后的结果应是false。如果需要比较两个对象的值是否相等,可以用equals()方法。

第8题:

假定有以下函数过程: Function Fun(S As String) As String Dim sl As String For i=1 To Len(S) s1=UCase (Mid(S,i,1))+s1 Next i Fun=s1 End Function则Str2=Fun("abcdefg”)的输出结果为( )。

A.abcdefg

B.ABCDEFG

C.gfedcba

D.GFEDCBA


正确答案:D

第9题:

假定有以下函数过程:Function Fun(S As String)As StringDim Sl AS StringFor i=1 TO Len(S)sl=UCase(Mid(S,i,1))+slNext iFun=s1End Function则Str2= Fun("abcdefg")的输出结果为( )。A. abcdefg B.ABCDEFGC.gfedcba D.GFEDCBA


正确答案:C
函数的功能既是将输入的字符串转换为大写,然后倒序输出

第10题:

下列代码段的执行结果是( )。 public class Test { public static void main(String args[ ]) { String s1= new String("hello"); String s2= new String("hello"); System.out.println(s1==s2); System.out.println(s1.equal(s2)); } }

A.true false

B.true true

C.false true

D.false false


正确答案:C
解析:本题考查比较运算符(==)的使用。比较运算符不仅可以用于基本数据类型的数据之间的比较,还可以用于复合数据类型的数据之间的比较。题中s1和s2的值虽然都是hello,但是由于它们是不同的对象,因此运算后的结果为false。如果需要比较两个对象的值是否相同,则可以调用equals()方法。所以程序最后输出false和true。

更多相关问题