gpt4 book ai didi

java - 这使我的程序卡住

转载 作者:行者123 更新时间:2023-12-01 06:41:03 25 4
gpt4 key购买 nike

每次启动我的程序都会卡住,我不明白为什么。它不会给出任何错误,只是卡住了。

我是否可能创建了某种无限循环?

public  static String[] DataVoorList(int coureur) throws SQLException{

ArrayList datalijst = new ArrayList();
String query = ""
+ "SELECT rd_datum, rd_locatie, rd_code "
+ "FROM racedag WHERE rd_code in( "
+ "SELECT i_rd_code "
+ "FROM inschrijvingen "
+ "WHERE i_c_nummer = " + coureur + ");";
ResultSet rs = Database.executeSelectQuery(query);

int i=0;
while (rs.next()){
String datum = rs.getString("rd_datum");
String locatie = rs.getString("rd_locatie");
String totaal = "" + datum + " - " + locatie;
datalijst.add(i, totaal);
i++;
int codeInt = rs.getInt("rd_code");
String code = ""+codeInt;
datalijst.add(i, code);
i++;
}



return Race.StringDataVoorList(datalijst);
}

public static String[] StringDataVoorList(ArrayList invoer){
int lengte = invoer.size();
String[] uitvoer = new String[lengte];
int i =0;
while (i < uitvoer.length){
uitvoer[i] = ""+invoer.get(i);
}
return uitvoer;
}

编辑:我已经解决了增量问题。但是,它仍然卡住。

编辑2:我想我已经找到了问题(但我可能是错的)

public static String[] DataVoorList(int coureur) throws SQLException {
System.out.println("stap 1");
ArrayList datalijst = new ArrayList();
String query = ""
+ "SELECT rd_datum, rd_locatie, rd_code "
+ "FROM racedag WHERE rd_code in( "
+ "SELECT i_rd_code "
+ "FROM Inschrijvingen "
+ "WHERE i_c_nummer = " + coureur + ");";
ResultSet rs = Database.executeSelectQuery(query);

System.out.println("stap 2");
int i = 0;
while (rs.next()) {
String datum = rs.getString("rd_datum");
String locatie = rs.getString("rd_locatie");
String totaal = "" + datum + " - " + locatie;
datalijst.add(i, totaal);
System.out.println("stap 3");
i++;
int codeInt = rs.getInt("rd_code");
String code = "" + codeInt;
datalijst.add(i, code);
i++;
System.out.println("stap 4");
}
return Race.StringDataVoorList(datalijst);

(我已将 while 循环更改为 for 循环)

    public static String[] StringDataVoorList(ArrayList invoer) {
int lengte = invoer.size();
String[] uitvoer = new String[lengte];

for (int i = 0; i < uitvoer.length; i++) {
uitvoer[i] = "" + invoer.get(i);

}
return uitvoer;
}
}

这是从这里调用的:

public MijnRacedagenScherm() throws SQLException{
initComponents();
int gebruiker = Inloggen.getNummer();
String[] DataVoorList = Race.DataVoorList(2);
int lengte = DataVoorList.length;
System.out.println("resultaat is " + DataVoorList[0]);
int i = 0;
while (i < lengte) {
ListRacedagenCoureur.setListData(DataVoorList);
i = i + 2;
}
System.out.println("lengte is " + lengte);
}

这是一个新屏幕,但在上一个屏幕中我遇到了一个未报告的 SQL 异常:

private void ButtonZienRacedagActionPerformed(java.awt.event.ActionEvent evt) {                                                  
new MijnRacedagenScherm().setVisible(true);
}

最佳答案

嗯,嗯...在本节中:

    while (i < uitvoer.length){
uitvoer[i] = ""+invoer.get(i);
}

i 在哪里递增?

关于java - 这使我的程序卡住,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9044437/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com