【发布时间】:2021-03-07 11:14:53
【问题描述】:
我想使用以下代码循环遍历 ArrayList。我有一个循环,所有参数都显示出来了。但它一直在重复,直到 sql 数据库结束。
ArrayList<Ews> controles = new ArrayList<>();
try {
Connection conn = DriverManager.getConnection(url, username, password);
String query = "SELECT * FROM " + database + ".controle";
java.sql.Statement st = conn.createStatement();
ResultSet rs = st.executeQuery(query);
while (rs.next()) {
int id = rs.getInt("id");
if (nr == id) {
Ews x = new Ews(rs.getString("datum"), rs.getInt("systole"), rs.getInt("diastole"), +
rs.getInt("pols"), rs.getDouble("temperatuur"));
controles.add(x);
Integer i = 1;
for (Ews controle : controles) {
System.out.println(i + ") " + controle.getDate() +
" - Bloeddruk: " + controle.getSyst() + "/" + controle.getDiast() +
" - Pols: " + controle.getPulse() + " - Temperatuur: " + controle.getTemp());
i++;
}
}
}
} catch (Exception e) {
System.err.println(e.getMessage());
}
}
我得到了这个结果。
1) - Bloeddruk: 120/60 - Pols: 60 - Temperatuur: 38.0
1) - Bloeddruk: 120/60 - Pols: 60 - Temperatuur: 38.0
2) - Bloeddruk: 130/60 - Pols: 32 - Temperatuur: 38.0
1) - Bloeddruk: 120/60 - Pols: 60 - Temperatuur: 38.0
2) - Bloeddruk: 130/60 - Pols: 32 - Temperatuur: 38.0
3) - Bloeddruk: 123/60 - Pols: 89 - Temperatuur: 38.0
1) - Bloeddruk: 120/60 - Pols: 60 - Temperatuur: 38.0
2) - Bloeddruk: 130/60 - Pols: 32 - Temperatuur: 38.0
3) - Bloeddruk: 123/60 - Pols: 89 - Temperatuur: 38.0
4) null - Bloeddruk: 120/60 - Pols: 60 - Temperatuur: 36.0
1) - Bloeddruk: 120/60 - Pols: 60 - Temperatuur: 38.0
2) - Bloeddruk: 130/60 - Pols: 32 - Temperatuur: 38.0
3) - Bloeddruk: 123/60 - Pols: 89 - Temperatuur: 38.0
4) null - Bloeddruk: 120/60 - Pols: 60 - Temperatuur: 36.0
5) 24-11-2020 13:12 - Bloeddruk: 120/60 - Pols: 61 - Temperatuur: 36.0
1) - Bloeddruk: 120/60 - Pols: 60 - Temperatuur: 38.0
2) - Bloeddruk: 130/60 - Pols: 32 - Temperatuur: 38.0
3) - Bloeddruk: 123/60 - Pols: 89 - Temperatuur: 38.0
4) null - Bloeddruk: 120/60 - Pols: 60 - Temperatuur: 36.0
5) 24-11-2020 13:12 - Bloeddruk: 120/60 - Pols: 61 - Temperatuur: 36.0
6) 24-11-2020 13:16 - Bloeddruk: 160/61 - Pols: 68 - Temperatuur: 36.0
// And so on...
但我想要这个结果
1) - Bloeddruk: 120/60 - Pols: 60 - Temperatuur: 38.0
2) - Bloeddruk: 130/60 - Pols: 32 - Temperatuur: 38.0
3) - Bloeddruk: 123/60 - Pols: 89 - Temperatuur: 38.0
4) null - Bloeddruk: 120/60 - Pols: 60 - Temperatuur: 36.0
5) 24-11-2020 13:12 - Bloeddruk: 120/60 - Pols: 61 - Temperatuur: 36.0
6) 24-11-2020 13:16 - Bloeddruk: 160/61 - Pols: 68 - Temperatuur: 36.0
// and so on...
我希望你们理解我的问题并知道如何解决它:)
【问题讨论】:
-
您能否在您的代码中添加
nr以及为什么使用 i 作为增量变量? -
将
for循环移出while循环。 -
nr 是需要和ID相等的变量。我想根据他的 ID 显示患者(在医院)的一些结果。 nr 在方法中被声明为参数。我作为增量是为了给结果一个数字(只是阅读简单)@ GriffeyDog,谢谢。那行得通,我以为我什么都试过了,猜不出来,谢谢
标签: java mysql loops arraylist