「已注销」 2022-11-17 12:24 采纳率: 100%
浏览 11
已结题

java根据一个已知数组,生成新数组,新数组长度翻倍,新数组的前一半内容为原数组,后一半内容为原数组的反序。

java根据一个已知数组,创建新数组,新数组长度翻倍,新数组的前一半内容为原数组,后一半内容为原数组的反序。

  • 写回答

1条回答 默认 最新

  • a5156520 2022-11-17 13:44
    关注

    如果这个已知数组是任意类型的数组,如字符串或其他对象数组,则可能需要使用泛型等办法来编写,下面是默认已知数组为int类型数组的一个测试例子,供参考:

    
    
    
    public class DoubleArrExchangeTest<T> {
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            int arr[] = {1,2,3,4,5,6,7,8,9,10}; //原已知数组
            
            //打印原数组的内容
            System.out.println("原数组的内容为:");
            for(int i=0;i<arr.length;i++) {
                System.out.print(arr[i]+" ");
            }
            System.out.println();
            
    
            int result[] = DoubleArrExchange(arr); //调用拷贝和反转操作的方法
            
            //打印执行拷贝和反转操作后的新数组的内容
            System.out.println("执行拷贝与反转操作后的新数组内容为:"); 
            for(int i=0;i<result.length;i++) {
                System.out.print(result[i]+" ");
            }
            
        } 
        
        //执行拷贝和反转操作的方法
        public static int [] DoubleArrExchange(int [] arr) {
            
            int [] result = new int[arr.length*2]; //新数组长度为原数组的两倍
        
            //遍历原数组,执行拷贝和反转操作
            for(int i=0;i<arr.length;i++) {
                result[i] = arr[i];  //从新数组开始位置逐个拷贝原数组的元素
                result[arr.length+i] =arr[arr.length-1-i]; //从新数组后半部分开始逐个反序拷贝原数组的元素,以完成反序操作
            }
            
            
            
            
            
            return result; //返回结果
        }
    
    }
    
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 11月28日
  • 已采纳回答 11月20日
  • 创建了问题 11月17日

悬赏问题

  • ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
  • ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
  • ¥15 stata安慰剂检验作图但是真实值不出现在图上
  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因