StyledDocument doc = txtpaneExamGeneration.getStyledDocument();
Connection con = null;
Statement stmt = null;
try {
Class.forName("org.sqlite.JDBC");
con = DriverManager.getConnection("jdbc:sqlite:sql_items.sqlite");
stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("SELECT item_desc FROM active_items ORDER BY random();");
while(rs.next()){
int num = 1;
String itemNumbering = Integer.toString(num);
String stringHandler = rs.getString("item_desc");
doc.insertString(doc.getLength(), Integer.toString(num) + ". _______________ - " , null);
doc.insertString(doc.getLength(), stringHandler + ".\n\n", null);
num++;
}
} catch (ClassNotFoundException | SQLException e) {
System.out.println(e);
} catch (BadLocationException ex) {
Logger.getLogger(generateExam.class.getName()).log(Level.SEVERE, null, ex);
}
程序的目的是将数据库的内容追加并显示到数据库中。JTextPane
. 我想通过在while循环中声明一个整数,然后将其转换为字符串,然后在循环的下一次迭代中递增,以递增编号的方式列出它们。
输出结果是这样的。
1. ____________ - item 1
1. ____________ - item 2
1. ____________ - item 3
1. ____________ - item 4
我不明白为什么它没有递增编号。谁能帮帮我
你正在重新创建变量,并将其赋值给了 1
每一次 int num = 1;
. 你必须在while循环范围外创建它。
int num = 1;
while(rs.next()){
String itemNumbering = Integer.toString(num);
String stringHandler = rs.getString("item_desc");
doc.insertString(doc.getLength(), Integer.toString(num)+". _______________ - ",null);
doc.insertString(doc.getLength(), stringHandler + ".\n\n", null);
num++;
}
移动 num
在while循环外。
int num = 1;
while(rs.next()){
String itemNumbering = Integer.toString(num);
String stringHandler = rs.getString("item_desc");
doc.insertString(doc.getLength(), Integer.toString(num) + ". _______________ - " , null);
doc.insertString(doc.getLength(), stringHandler + ".\n\n", null);
num++;
}