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 equivalents 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;
}

可能是问题所在。您的方法应该返回 aString但您试图返回 a String[]

于 2012-05-02T20:24:14.403 回答