我有「一」填充Java數組
一旦我的用戶輸入的所有數據,我希望能夠對用戶輸入的所有值執行XOR操作的用戶定義大小的數組。
通過調整代碼;
int k=1;
for (int k=0;k<A;k++){
k = ^piles[k];
*此代碼在循環語句中。 我假設它將我的值(一旦運行XOR運算符)乘以1,這會給我錯誤的值。有什麼想法嗎?
我有「一」填充Java數組
一旦我的用戶輸入的所有數據,我希望能夠對用戶輸入的所有值執行XOR操作的用戶定義大小的數組。
通過調整代碼;
int k=1;
for (int k=0;k<A;k++){
k = ^piles[k];
*此代碼在循環語句中。 我假設它將我的值(一旦運行XOR運算符)乘以1,這會給我錯誤的值。有什麼想法嗎?
試試這個:
int result=0;
for (int k=0;k<A;k++){
result ^= piles[k];
}
這就是我用過的,但是一旦它運行XOR運算符,它會乘以1,這會給出錯誤的答案。 7,4,2,1的XOR應爲0,但它給了我1. – user2023112
代碼略有不同(=^vs^=)。我會再檢查一次。 –
你爲什麼初始化結果爲1?如果你只想要數組元素的XOR,它應該被初始化爲0. – beaker
Integer[] in = {1,2,4,7};
int result = 0;
for(int i:in) {
result ^= i;
}
System.out.println(result); //prints 0
更好的實現 – beaker
不要爲循環計數器和外部變量使用相同的名稱。 – MrSmith42
與什麼值異或? –
向我們顯示您的代碼。由於重複的局部變量,此處發佈的內容不會編譯。 – jlordo