「已注销」 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日

悬赏问题

  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度