すべての配列の最初の要素を取得するには、これはあなたが何をする必要があるかです:
String[] citylist(String[][] data) {
String[] result = new String[data.length]
for (int i = 0; i < data.length; i++) {
result[i] = data[i][0]
}
return result
}
私たち確認されませんでしたあなたのメソッドシグネチャが正しいかどうかはわからないので、array
をString
に戻すように変更しました。あなたがList
を使用することができればと思います
String citylist(String[][] data) {
String[] result = new String[data.length]
for (int i = 0; i < data.length; i++) {
result[i] = data[i][0]
}
return result.toString()
}
同じことを:あなたはString
をしたい場合しかし、あなたは行うことができます
def citylist(String[][] data) {
def result = []
for (int i = 0; i < data.length; i++) {
result << data[i][0]
}
return result
}
そしてあなたも、いくつかの素晴らしいGroovyの機能を使用することができます。
def citylist(String[][] data) {
def result = []
data.each {
result << it[0]
}
return result
}
上記のコードの場合、結果は[1, 11, 21]
私はあなたの最後のコメントを理解していれば、これを行うための別の方法である:
String[][] citylist(String[][] data) {
String[][] result = new String[data.length][]
for (int i = 0; i < data.length; i++) {
result[i] = new String[1]
result[i][0] = data[i][0]
}
return result
}
あなたの結果は[[1], [11], [21]]
はあなたが何をしようとして再び説明できますでしょうか?投稿したコードは最初の配列の最初の要素を返します。また、メソッド定義に 'def'も必要ありません。また、変数 'result'は必要ありません。代わりに' data [i] [0] 'を返すだけです。あなたはまた、セミコロン ';を必要としません'; –
申し訳ありませんが、私はJOptionpaneを介して関数を呼び出しているので、私は関数を使用する必要があるので、defを使用する必要があります。私が知っているのは、実行時に各配列の最初の要素が必要なときです。また、セミコロンは私がすぐにJavaに移るので、申し訳ありませんが、私はちょっと混乱しています。理想的には、各要素を独自の行に戻す必要があります。 –
あなたは 'def'を使用する必要はありません... _"私は関数を使わなければなりません "_意味がありません...あなたにはメソッドがありますか? 'def'がなければそれはまだ方法です –