请选择下面程序正确的输出结果? public class J_String { public static void main(String args[ ]) { String a = new String(“A”); String b = new String(“B”); mb_operate(a,b); System.out.println(a+”.”+b); } static void mb_operate(String x,String y) { x.concat(y); y=x; } } A. A.B B. A.A C. AB.AB D. AB.B
时间: 2024-04-25 15:26:37 浏览: 4
选项 A. A.B 是该程序的输出结果。
在主方法中,创建了两个新的字符串对象 a 和 b,分别初始化为"A"和"B"。
然后调用了 mb_operate 方法,并将 a 和 b 作为参数传递给该方法进行操作。
在 mb_operate 方法中,首先调用了 x 的 concat 方法将 y 的值追加到 x 的末尾,但是因为 String 对象是不可变的,所以该操作并没有修改 x 的值。接着将 x 的值赋给 y,但是这并不会影响到 x 的值。
因此,在主方法中,输出 a 和 b 的值,结果为"A.B",即选项 A. A.B。
相关问题
请选择下面程序正确的输出结果? public class J_String { public static void main(String args[ ]) { String a = new String(“A”); String b = new String(“B”); mb_operate(a,b); System.out.println(a+”.”+b); } static void mb_operate(String x,String y) { x.concat(y); y=x; } } A. A.B B. A.A C. AB.AB D. AB.B
选项 A,A.B 是正确的输出结果。
在mb_operate()方法中,首先调用了x的concat()方法,但是因为String类是不可变类,所以x.concat(y)的结果并没有被保存,x仍然是原来的值,即"A"。然后y=x,这里是将y的引用指向了x所指向的对象,即"AB"。但是在main()方法中,a和b的值并没有改变,仍然是"A"和"B",所以输出结果是"A.B"。
因此,选项 A是正确的答案。
请选择下面程序的输出结果。 public class J_String{ public static void main(String args[ ]) { String s[] = {"1", "2"}; mb_swap(s); System.out.println(s[0]+s[1]); } static void mb_swap(String s[]) { if(s.length<2) return; String t=s[0]; s[0]=s[1]; s[1]=t; } } A. 12 B. 21 C. "1""2" D. "2""1"
选项 B. 21 是该程序的输出结果。
在主方法中,定义了一个字符串数组 s,其中包含两个元素"1"和"2"。然后调用了 mb_swap 方法,将 s 数组中的两个元素进行了交换。
在 mb_swap 方法中,首先判断 s 数组的长度是否小于 2,如果是,直接返回。否则,将 s[0] 的值赋给 t,然后将 s[1] 的值赋给 s[0],最后将 t 的值赋给 s[1],完成了两个元素的交换。
因此,在主方法中,输出 s[0] 和 s[1] 的值,结果为"2"和"1",即选项 B. 21。