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; //返回结果 } }
本回答被题主选为最佳回答 , 对您是否有帮助呢?评论 打赏 举报 编辑记录解决 2无用