java - 为什么数组没有被修改
问题描述
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] nums= {3,5,2,8,9,11,1};
Arrays.stream(nums).forEach(System.out::print);
System.out.println();
rotate(nums,3);
Arrays.stream(nums).forEach(System.out::print);
}
public static void rotate(int[] nums, int k) {
int[] arr=new int[nums.length];
int j=0;
int x=k;
for(int i=nums.length-k;i<nums.length && k>0;i++, j++)//3
{
arr[j]=nums[i];
k--;
}
// Arrays.stream(arr).forEach(System.out::println);
for(int i=0;i<nums.length-x;i++)
{
arr[j]=nums[i];
j++;
}
//Arrays.stream(arr).forEach(System.out::println);
nums=Arrays.copyOf(arr, arr.length);
}
这是我编写的用于旋转数组元素的程序。在旋转方法中,nums 正在被修改,但它没有反映在 main 方法中。我在这里做错了什么?
解决方案
推荐阅读
- eclipse-plugin - 如何在自定义的 Eclipse 中安装自己编写的插件?
- flutter - 数值未显示在颤振图表上
- php - 使用 NetBeans 和 Apache 进行 PHP Xdebug
- visual-studio - 下载 vsix 依赖项以进行离线安装
- matlab - 寻找一种从绘图中提取数据的工具(这里是协方差矩阵或马尔可夫链中的 2D 轮廓)并重现原始图
- c# - Efcore:无法跟踪实体类型“x”的实例。多对多
- linux - 在虚拟框中使用 xdotool 模拟右 CTRL 键
- javascript - 正则表达式替换为变量
- c++ - 如何使用“getline()”比较每一行的第三个标记?
- wagtail - 从数据库中检索不同 wagtail 应用程序的数据