1. public class TestString3 {
2. public static void main(String[] args) {
3. // insert code here
5. System.out.println(s);
6. }
7. }Which two code fragments, inserted independently at line 3, generate the output 4247? (Choose two.)A. String s = "123456789"; s = (s-"123").replace(1,3,"24") - "89";
B. StringBuffer s = new StringBuffer("123456789"); s.delete(0,3).replace(1,3,"24").delete(4,6);
C. StringBuffer s = new StringBuffer("123456789"); s.substring(3,6).delete(1,3).insert(1, "24");
D. StringBuilder s = new StringBuilder("123456789"); s.substring(3,6).delete(1,2).insert(1, "24");
E. StringBuilder s = new StringBuilder("123456789"); s.delete(0,3).delete(1,3).delete(2,5).insert(1, "24");反正我是做错了!

解决方案 »

  1.   

    B,E么 
    首先A一定不对 
    其次 s.substring 返回的是String类型 不会有方法delete
    直接让选两个
    那不就是BE了么
      

  2.   

    真是啊,平时学的时候要搞清楚点啊
    A、肯定不对。
    另外substring 是要有返回值的,s.substring 是对s的值 没有影响的,他让选2个。那就是B 和 E;
      

  3.   

    1楼分析的对啊!String没有delete方法!排除c 和D 
    答案就出来啦!哎还真的仔细看!
      

  4.   

    看了api,substring果然返回的是string,我都没注意呢
    另外
     StringBuffer sBuffer = new StringBuffer("123456789");

     System.out.println(sBuffer.delete(0,10));
    这样也可以的
      

  5.   

    A.肯定不对,字符串不可能像int一样进行加减;
    C和D中substring返回的是string类型没有delete方法,只有Stringbuffer有delete类型;
    正确答案是B和E(经测试了)
    B答案:s.delete(0,3)删除索引为0-3之间(不包括3)的子字符串s=“456789”(stringbuffer类型)、s.replace(1,3,"24")用指定的字符串替代索引1-3(不包括3)的子字符串s=“424789”(stringbuffer类型)、
    s.delete(4,6)删除索引为4-6(不包括6)之间的字符串“89”被删除,则s=4247(stringbuffer);
    E答案:执行s.delete(0,3).delete(1,3).delete(2,5),我就不介绍了,参考上面,结果为“47”,s.insert(1, "24")表示在索引值为1的地方插入“24”字符串,0-4、1-7,在1位置插入24,则s=4247
    现在0-4、1-2、3-4、4-7,最后返回的s仍为stringbuffer类型。
      

  6.   

    A……不说了
    对于CD,substring是返回一个String,String也没delete这玩意,而且不会对StringBuffer本身造成影响
    BE通得过语法验证,而且操作结果也的确是4247
      

  7.   

    SJC-P
    当时我考了85分,2年前让我做我估计能做对,现在还真没信心了。
    这道题考的是String与StringBuffer,应该是第9章的题。StringBuffer 的范围 start~end是左闭右开的。记住这个就应该能做对了
      

  8.   

    BE
    第一题肯定不对,String没有用减号的
    后面几个就看你对API的理解了(其实主要是substring.....)
    scjp94分的路过
    这道题真的太熟悉了~