いまさらSwap(Java)
Cだとポインタで。。と言うアレ。Javaってできないんだっけ結局。
参照型(クラスとかプリミティブな変数でも配列なら)でやる。
参照つかわんとだめだった。
他だとラッパークラスとかですかねえ。。
OreSwap.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の値が変わる。
}
}
コメント
コメントを投稿
「コメントを投稿できるユーザー」の範囲は変更される可能性があります。