flhs筆試題-回家上機(jī)實(shí)踐
這是最近參加的一個(gè)公司的筆試題,回家上機(jī)寫了下代碼,希望對(duì)有需要的小伙伴有用,簡單實(shí)現(xiàn)字符串和數(shù)組在指定位置的插入:
package org.flhs;
import com.google.common.base.Strings;
/**
* Created with IntelliJ IDEA.
* User: cutter.li
* Date: 14-3-7
* Time: 下午3:10
* To change this template use File | Settings | File Templates.
*/
public class FLHSTest {
public static void main(String[] args) {
// changePosition("iloveyou", 5);
Object[] objArray= insertObjArrayInPosition(new Object[]{"a","b","hello"},new Object[]{"fuck","you"},3);
printArray(objArray);
}
private static void printArray(Object[] objArray) {
if(null!=objArray&&objArray.length>0)
{
for(Object obj:objArray)
{
System.out.print(obj+" , ");
}
}
}
//對(duì)指定位置前后的字符串的內(nèi)容進(jìn)行調(diào)換
public static void changePosition(String str, int position) {
String res = "";
if (Strings.isNullOrEmpty(str)) {
res = "改變的字符串為空";
} else {
int len = str.length();
if (position <= 0 || position >= len) {
res = str;
} else {
String preTxt = str.substring(0, position);
String remainTxt = str.substring(position, str.length());
res = remainTxt + preTxt;
}
}
System.out.println(res);
}
//數(shù)組在指定位置的插入
public static Object[] insertObjArrayInPosition(Object[] dest, Object[] source, int position) {
if (null == dest) {
return source;
}
if (null == source) {
return dest;
}
int destSize = dest.length;
int sourceSize = source.length;
Object[] resObjArray = new Object[destSize + sourceSize];
if (position <= 0) {
System.arraycopy(source, 0, resObjArray, 0, sourceSize);
System.arraycopy(dest , 0, resObjArray, sourceSize, destSize);
} else if (position > dest.length) {
System.arraycopy(dest, 0, resObjArray, 0, destSize);
System.arraycopy(source, 0, resObjArray, destSize, sourceSize);
} else {
System.arraycopy(dest, 0, resObjArray, 0, position);
System.arraycopy(source, 0, resObjArray, position, sourceSize);
System.arraycopy(dest, position, resObjArray, position+sourceSize, destSize - position);
}
return resObjArray;
}
}

浙公網(wǎng)安備 33010602011771號(hào)