• flhs笔试题-回家上机实践


    这是最近参加的一个公司的笔试题,回家上机写了下代码,希望对有需要的小伙伴有用,简单实现字符串和数组在指定位置的插入

    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+" , ");
                }
            }
        }

        //对指定位置前后的字符串的内容进行调换
        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);
        }

    //数组在指定位置的插入
        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;
        }


    }

  • 相关阅读:
    代表行为已成为习惯的信号有哪些?
    Java使用JDBC连接Oracle数据库
    JS正则表达式
    java实现内网通信
    纯前端代码实现美团外卖页面
    HTML绘制表格
    教你如何使用谷歌浏览器,亲测可用!
    Java 多线程实现多窗口同时售票简单功能
    实现获取命令行的返回结果
    HTML模仿实现京东登录页面
  • 原文地址:https://www.cnblogs.com/snidget/p/3586592.html
Copyright © 2020-2023  润新知