public boolean addPeerReview(String courseid, String studentname, String ratings, String feedback, String reviewerName) {
boolean flag = false;
PreparedStatement pst = null;
try {
pst = con.prepareStatement("INSERT into PEERREVIEW (courseid,studentname,ratings,feedback,reviewerName) VALUES(?,?,?,?,?)");
pst.setString(1, courseid);
pst.setString(2, studentname);
pst.setString(3, ratings);
pst.setString(4, feedback);
pst.setString(5, reviewerName);
if (i <= 2) {
if (pst.executeUpdate() > 0) {
flag = true;
i++;
}
else{
flag=false;
}
}
} catch (SQLException ex) {
}
return flag;
}
上面是我的代码。我在这个servlet中调用它(基本上这会将记录添加到DB)
int count =0;
if(peerreview.addPeerReview(courseid, studentname, rating, feedback, reviewerName)){
message = "Peer review successfull!";
request.setAttribute("message", message);
rd = request.getRequestDispatcher("peerreview.jsp");
rd.forward(request, response);
count++;
}
我只希望将两条记录添加到数据库中(方案是学生应该能够为另外两名学生进行同行评审)。因此,我正在使用计数,但是当我再次运行该方法时, java是按值而不是引用计数总是从0开始,当我再次调用该方法时,而不是从1开始。是否有任何解决方案可以解决我的问题?
答案 0 :(得分:4)
如何使用:
static int count
静态修饰符用于创建独立于为类创建的任何实例而存在的变量和方法。
在创建类的新实例之前,所有静态成员都存在,并且只有一个静态成员的副本,无论该类的实例数是多少。
换句话说,给定类的所有实例对任何给定的静态变量共享相同的值。