私は配列の質問に取り組んでいます。 私は配列を持っています String [] x= {"no", "i", "in" , "eye"};
各値の文字を数え、要素N回繰り返すような第2の次元を作成する必要があります。 Nは要素の長さです。私はこの問題解決するために、次のコードを作成している作成方法2 dimention値nullを除く配列
[no] ->[no][no]
[i] -> [i]
[in] ->[in][in]
[eye] ->[eye][eye][eye].
:たとえば
public class targil_2_4 {
public static void main(String[] args) {
String [] x= {"no", "i", "in" , "eye"};
String [][] y = new String [x.length][];
for(int i=0; i<=x.length-1; i++){
y[i]= new String [x[i].length()];
for(int j=0; j<i; j++){
for(int b=0; b<=y[i].length-1; b++){
if(x[i] == null){break;}
else{
y[i][j]= x[i];
}
}
System.out.println(x[i]+ " "+Arrays.toString(y[i]));
}
}
}
}
は、しかし、私のような値を取得[いいえ] - > [いいえ] [いいえ] [null]:
[i]
[in, null]
[in, in]
[eye, null, null]
[eye, eye, null]
[eye, eye, eye]
この問題を解決するために値 'null'または他の方法を持つ行を削除するにはどうすればよいですかレム?
なぜ、x [i] .length()を配列の長さとして使用していますが、 'i'回繰り返すのですか? –
@JonSkeet OPは、与えられた文字列の長さに等しいコピーを作成したいと考えています。 –
ヒント:私たちがあなたを助けるために私たちの時間を費やすことを望みます。ですから、あなたのソースコードを適切にフォーマット/インデントするのにかかる時間は1分ほどかかります。あなたのコードが読みにくいという事実だけでは、私たちはそれ以上の時間を費やすことはありません。そして、あなたは知っている:あなたのコードをより読みやすい方法で書き留めれば、コード内のバグをより迅速に見つけることができるかもしれない! – GhostCat