1

これは単純なはずでした。KATA_DASAR テーブルから KATA レコードを取得し、それを kamusKata[] という名前の配列に入れたかったのです。しかし、私は正しいコードを書くことができないようです。少し早いですがお礼を。:)

package ir;

import java.sql.*;

public class kataDasar {
private String[] kamusKata;
private int i=0;

public kataDasar () {
    try {
            //definisi connection
            Connection con = DriverManager.getConnection( "jdbc:derby://localhost:1527/stemming", "admin", "admin" );
            Statement stmt = con.createStatement( );
            //SQL query 
            String SQL = "SELECT KATA FROM KATA_DASAR";
            ResultSet rs = stmt.executeQuery(SQL);

            while (rs.next()){
            String hasil = (rs.getString("KATA"));
            setKamusKata(hasil);
            }

        } catch (SQLException ex) {
            System.err.println("Connection failed"); //jika connection failed
        }
};

private void setKamusKata (String kata) {
    kamusKata[i] = kata;
    i++;
}

public String getKamusKata () {
    return kamusKata;
}
}
4

2 に答える 2

3

参照: ArrayList http://docs.oracle.com/javase/6/docs/api/java/util/ArrayList.html

配列を初期化していないため、真実の答えはおそらく役に立たないでしょう。

次のようにします。

kamusKata = new ArrayList<String>();

while(rs.next()) {
 kamusKata.add(rs.getString('KATA')
}

しかし、あなたの getKamusKata() メソッドが何をすべきかわかりません。文字列として返したい場合は、次の質問を確認する必要があります: Java equals of C# String.Format() and String.Join()

または、メソッドに次のように実行させます。

StringBuilder sb=new StringBuilder();
for(string kata : kamusKata) {
   sb.append(kata);
}

return sb.toString();
于 2012-05-02T20:34:19.437 に答える
0

これ:

public String getKamusKata () {
    return kamusKata;
}

おそらく問題です。メソッドは を返す必要Stringがありますが、 を返そうとしていますString[]

于 2012-05-02T20:24:14.403 に答える