私はString 2D配列に96個の変数を格納しました。私はそれから49の変数を取得したい。例Javaを使用して2D配列から特定の列を取得する方法
variable1 variable2 variable3 variable4...... variable96 -> Original array : 97 variables
5 6 3 5 ...... 6
6 8 8 1 ...... 9
10 4 4 9 ...... 1
. .
. .
. .
2 ... ... ...... 7
私の目的のために :私は(そのような変数1、variable3は、変数6、...、variable86など)45個の変数を選択した場合は、その後、私は2次元配列を以下のようにしたいです。
variable1 variable3 variable6 ...... variable86 -> modified array: selected 45 variables
5 3 15 ...... 2
6 8 21 ...... 2
10 4 9 ...... 6
. .
. .
. .
2 ... ... ...... 7
私は以下のコードを使用しようとします。結果はnull null null null null....
public static String[][] haveVariable(String[][] strArr){
String[][] twoDArray = new String[strArr.length][strArr[0].length];
int copy = 0;
for(int i=0; i<strArr.length;i++){
if(strArr[1][i]=="variable"||strArr[1][i]=="variable"||strArr[1][i]=="variable"||strArr[1][i]=="variable"||strArr[1][i]=="variable"||strArr[1][i]=="variable"||strArr[1][i]=="variable"||strArr[1][i]=="variable"||strArr[1][i]=="variable"||strArr[1][i]=="variable"||strArr[1][i]=="variable"||strArr[1][i]=="variable"||strArr[1][i]=="LSU_rO2Sig_mp[1]"||strArr[1][i]=="variable"||strArr[1][i]=="variable"||strArr[1][i]=="variable"||strArr[1][i]=="variable"||strArr[1][i]=="variable"||strArr[1][i]=="variable"||strArr[1][i]=="variable"||strArr[1][i]=="variable"||strArr[1][i]=="variable"||strArr[1][i]=="variable"||strArr[1][i]=="variable"||strArr[1][i]=="variable"||strArr[1][i]=="variable"
||strArr[1][i]=="variable"||strArr[1][i]=="variable"||strArr[1][i]=="variable"||strArr[1][i]=="variable"||strArr[1][i]=="variable"||strArr[1][i]=="variable"||strArr[1][i]==""||strArr[1][i]=="variable"||strArr[1][i]=="variable"
||strArr[1][i]=="variable"||strArr[1][i]=="variable"||strArr[1][i]=="variable"||strArr[1][i]=="variable"||strArr[1][i]=="variable"||strArr[1][i]=="variable"||strArr[1][i]=="variable"||strArr[1][i]=="variable"||strArr[1][i]=="variable"||strArr[1][i]=="variable")
{ String tmp = null;
for(int j=0; j<strArr[1].length;j++){
tmp= strArr[i][j];
twoDArray[copy][j]=tmp;
System.out.println(tmp);
}
copy++;
}
}
return twoDArray;
}
私はコードを変更します。しかし、その結果は...
public static String[][] haveVariable(String[][] strArr){
String[] varName= {"variable1", "variable2", "variable3", "variable4"};
int selectedVariable= 45;// number of original data's variable
String[][] twoDArray = new String[selectedVariable][strArr[0].length];
int copy = 0;
for(int i=0; i<selectedVariable;i++){
if(strArr[i][0].equals(varName)){
for(int j=0; j<strArr[0].length;j++){
String tmp= strArr[i][j];
twoDArray[copy][j]=tmp;
copy++;
}
}
}
return twoDArray;
}
同じですが、結果はsame..iがあなたの代わりにあなたが.equals()
メソッドを使用する必要があります==
を使用して、2つの文字列のインスタンスを比較してはならない問題
equals()関数の代わりに==を使用しています。 http://stackoverflow.com/questions/7520432/what-is-the-difference-between-vs-equals-in-java –
基本的に、配列のいくつかの列を削除したいですか? – AxelH
はい、 私が選択しなかった列を削除したいと思います。 – kimHS