AA
null
BB
bb
と表示されますが、これを下記のように表示させるには、どこを直せばよいでしょうか。
BB
bb
CC
cc
やりたいことは
*配列selectAを配列insertAにコピーしたい。
*ただしselectA[p][1]の値が0の場合はコピーしない。
(p=0だった場合、[0][0]も[0][1]もコピーしない。)
public static void main(String args[]) {
String[][] selectA = {{"AA","0",},
{"BB","bb",},
{"CC","cc",}};
String[][] insertA = new String[selectA.length][];
for(int p = 0; p < selectA.length; p++){
//forループ内でinsertAの下位配列の生成を行う。
insertA[p] = new String[selectA[p].length];
//forループ内でselectAからinsertAへデータのコピーを行う。
for(int q = 0; q < selectA[p].length; q++ ) {
if(selectA[p][q].equals("0")){
break;
}
insertA[p][q] = selectA[p][q];
}
}
System.out.println(insertA[0][0]);
System.out.println(insertA[0][1]);
System.out.println(insertA[1][0]);
System.out.println(insertA[1][1]);
}
これでどうですか
public static void main(String args[]) { String[][] selectA = {{"AA","0",}, {"BB","bb",}, {"CC","cc",}}; String[][] insertA = new String[selectA.length][]; for(int p = 0; p < selectA.length; p++){ //条件より、selectA[p][1]の値が0ならコピーせずスキップする if (selectA[p][1].equals("0")){ continue; } //forループ内でinsertAの下位配列の生成を行う。 insertA[p] = new String[selectA[p].length]; //forループ内でselectAからinsertAへデータのコピーを行う。 for(int q = 0; q < selectA[p].length; q++ ) { insertA[p][q] = selectA[p][q]; } } System.out.println(insertA[0][0]); System.out.println(insertA[0][1]); System.out.println(insertA[1][0]); System.out.println(insertA[1][1]); }
コメント(1件)
頂いた案でうまくいきました。
ありがとうござました。