Wpis z mikrobloga

@qwertyu: nie znam JavaScripta, ale wygląda to tak, jakbyś zwracał tablicę w swojej funkcji. W samym wpisie zaznaczyłem, że z wykorzystaniem obiektów/tablic nie jest to problem, więc za bardzo Ameryki nie odkryłeś.
@TurTuru: w Javie to nie zadziała, wartości oryginalne nie zmienią się, tylko kopie wewnątrz funkcji.
W ogóle tam powinny być ampersandy, żeby to miało sens, dawno nie pisałem w cpp.
@zranoI: no dobra, to masz teraz wersję poprawioną

public class Main {
public static void main (String[] args) {
int a = 1, b = 2;
a = a ^ b;
b = a ^ b;
a = a ^ b;

System.out.println("a: " + a + ", b: " + b);
}
}

Lepiej?
@zranoI: komentowanie, że zwracam tablice to tak jakbym skomentował, że w swojej wersji używasz obiektu System i jeszcze tablicy stringów, zamiana nastąpiła wcześniej, a że zwracam tablicę - a jak niby mam zwrócić 2 liczby?
@qwertyu: okej, wytłumaczę Ci na czym polega problem. Każdy umie w Javie napisać metodę, do której przekaże tablicę/obiekt albo która zwróci tablicę/obiekt i zamieni wartościami dwie liczby. W cpp można przekazywać argumenty przez referencję, czyli wewnątrz funkcji odnosić się do wartości, które występują poza nią - właśnie poprzez ampersand i funkcję, którą napisałem wyżej. W Javie nie da się tak zrobić, bo wszystko jest przekazywane przez wartość do metody. Jeżeli przekażesz