zoukankan      html  css  js  c++  java
  • 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;
        }


    }

  • 相关阅读:
    C语言I博客作业11
    第十四周助教总结
    C语言I博客作业10
    Tensorflow--MNIST简单全连接层分类
    记一些好看的Android开源菜单
    AS更新到3.5.2遇到ERROR: SSL peer shut down incorrectly问题
    Tensorflow tf.app.flags 的使用
    Android Sensor(传感器)
    《第一行代码》百分比布局出现的问题
    当Turtle遇见柯南?
  • 原文地址:https://www.cnblogs.com/snidget/p/3586592.html
Copyright © 2011-2022 走看看