一个面试题
  大致意思:有一个数组,里面放大的有字符、数字等一些元素,要求不使用JAVA API
将数组中为“java”的字符串替换成“c++”。
使用惯了java中的API ,做一些这底层的字符操作没了头绪,高手贴个代码或者思路

解决方案 »

  1.   

    循环字符串的长度,通过substring获得每个子字符串,
    检查当前子字符串是否为j && 当前字符串+后3位是否为java
    是,替换
    不是 跳过
      

  2.   

    数组 arry;
    for(int i=0;true;i++){
        if(arry[i]!=null)
        if(arry[i]==106){
            if(arry[i+1]==97){
                if(arry[i+2]==118){
                    if(arry[i+3]==97){
                    arry[i] = "c";
                    arry[i+1] = "+";
                    arry[i+2] = "+";
                    arry[i+2] = " ";
                    }
                }
            }
        }
    }
      

  3.   

    写错
    数组 arry; 
    for(int i=0;true;i++){ 
        if(arry[i]!=null) 
        if(arry[i]==106){ 
            if(arry[i+1]==97){ 
                if(arry[i+2]==118){ 
                    if(arry[i+3]==97){ 
                    arry[i] = "c"; 
                    arry[i+1] = "+"; 
                    arry[i+2] = "+"; 
                    arry[i+3] = " "; 
                    } 
                } 
            } 
        } 
    }
      

  4.   

    学JAVA不用JAVA API,感觉说不过去啊。
      

  5.   


    char[] src = new char[]{};//这个就是原数组,里面是字符
    for(int i=0;i<src.length-3;i++){
        if(src[i]=='j' && src[i+1] == 'a' && src[i+2] == 'v' && src[i+3] == 'a'){
            src[i] = 'c';
            src[i+1] = '+';
            src[i+2] = '+';
            src[i+3] = ' ';
            i += 3;
        }
    }
    不知这样可不可以。
      

  6.   


    一般考这些的公司应该还行吧
    学JAVA不用JAVA API。。
      

  7.   

    唉。。现在的编程语言都有很多很方便的API,大家用惯了都不去细究算法了。。想当年。。
    可悲。。可叹。。