我想将检索到的数据从数据库添加到数组中,但其检索数据为null。我的错是什么?请帮帮我。
require(tm)
corpus <- Corpus(DataframeSource(data))
dtm<-DocumentTermMatrix(corpus)
dtmDataFrame <- as.data.frame(inspect(dtm))
答案 0 :(得分:1)
如果ratings[u.getIndex()][r.getIndex()] = rate;
是二维的二维数组,则此行没有问题:
ResultSet
但可能是您的数据库返回空 while (rs.next()) {
rate = rs.getDouble("rank");
System.out.println("Result set is not empty! Current rank is: " + rate);
ratings[u.getIndex()][r.getIndex()] = rate; //it seems here is the problem
}
?将print语句插入debug:
;
如果没有打印 - 那么问题不在您的代码中,而是在数据库中。另外,我认为您在查询结束时错过了分号 catch (Exception e) {
System.out.println("Log In failed: An Exception has occurred! " + e);
}
。
关于异常处理:
SQLException
您在此处捕获的异常类型过于抽象 - 您无法知道它是ArrayIndexOutOfBoundsException
异常还是O(nlogn)
。将其更改为多个catch块。
答案 1 :(得分:0)
java中的数组是固定大小的
使用ArrayList并向其添加元素
像这样的东西
HashMap<Integer, ArrayList<Integer>> h = new HashMap<Integer, ArrayList<Integer>>();
if (!h.containsKey(1)) h.put(1, new ArrayList<Integer>());
h.get(1).add(2);
System.out.println(h.get(1).get(0));