いまさらSwap(Java)

Cだとポインタで。。と言うアレ。Javaってできないんだっけ結局。
参照型(クラスとかプリミティブな変数でも配列なら)でやる。


参照つかわんとだめだった。

他だとラッパークラスとかですかねえ。。



JUGEMテーマ:コンピュータ




OreSwap.java

public class OreSwap {
public static void main(String[] args) {
int ia[] = {4,10};
swap(ia[0],ia[1]);
System.out.println("[0] "+ia[0]);
System.out.println("[1] "+ia[1]);
/* 整数配列iaにたいして作用しない */
swap(ia);
System.out.println("[0] "+ia[0]);
System.out.println("[1] "+ia[1]);
/* いれかわりー */
}
static void swap(int x,int y){
int varinfunc1 =x;
int varinfunc2 = y;
int temp = x;
varinfunc1=y;
varinfunc2=temp;
// なんもしない。
}
static void swap2(int x,int y){
int[] varinfunc= {x,y};
int temp = varinfunc[0];
y=varinfunc[0];
varinfunc[1]=temp;
x=varinfunc[1];
}

static void swap(int[] array){
int[] arrayinfunc = array;
int temp = array[0];
arrayinfunc[0]= array[1];
arrayinfunc[1]= temp;
//仮引数 arrayに指定された。こっちだと
//iaの値が変わる。
}
}

コメント

このブログの人気の投稿

4.3.0 Temporary Lookup Failureでドツボってた話

tomcat起動時の環境変数でJRE_HOMEを指定するときに