gpt4 book ai didi

java - 交换数组中的两个 boolean 值

转载 作者:行者123 更新时间:2023-11-30 03:38:00 25 4
gpt4 key购买 nike

我有一个 boolean 值数组。现在我需要将位置 1 的项目与位置 2 的项目交换;

我使用这个void

public static void swap(boolean x, boolean z){
writeln("swapping");
boolean temp = x;
x=z;
z=temp;
}

swap(position[a],position[moves[b]);

但它不起作用。就是不换。有什么想法吗?

最佳答案

是的,您需要这样做:

public static void swap(boolean[] arr, int x, int z){    
writeln("swapping");
boolean temp = arr[x];
arr[x]=arr[z];
arr[z]=temp;
}

因为当您发送 position[a]position[b] java 会将它们的值复制到新参数,因此当您离开 swap 时 函数,未对变量进行任何更改

要了解更多信息,您可以阅读 java 中的 pass-by-value 和 pass-by-ref here

When the method or constructor is invoked, the values of the actual argument expressions initialize newly created parameter variables, each of the declared Type, before execution of the body of the method or constructor. The Identifier that appears in the DeclaratorId may be used as a simple name in the body of the method or constructor to refer to the formal parameter.

关于java - 交换数组中的两个 boolean 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27401888/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com