Java 在返回多个值的方法上使用while

Java 在返回多个值的方法上使用while,java,Java,在这里,我尝试在一个方法上使用while,该方法还使用while,以便从SQL请求返回多个值。我哪里错了?除了使用boolean之外,还有其他方法吗 数据库表 第一列 1000 900 800 调用getValues时,它总是执行新的查询。您还在main的循环中旋转它,它总是调用返回firts查询的函数 你有几个选择 您可以在迭代期间执行所需的逻辑: public class someClass { public static int value; public st

在这里,我尝试在一个方法上使用
while
,该方法还使用
while
,以便从SQL请求返回多个值。我哪里错了?除了使用
boolean
之外,还有其他方法吗

数据库表

第一列 1000 900 800
调用
getValues
时,它总是执行新的查询。您还在main的循环中旋转它,它总是调用返回firts查询的函数

你有几个选择

您可以在迭代期间执行所需的逻辑:

public class someClass {
    
    public static int value;

    public static void main(String[] args) {
        Database.connect();
        ResultSet valuesResult = requestQuery(valuesQuery);
        while (valuesResult .next()) {
            value =  sessionUsersResult.getInt(1);
            System.out.println(value)
        }
    }
}
您可以将所有内容放入列表或数组,并在迭代之后返回,然后对其进行操作

public static List<Integer> getValues() throws SQLException {
    List<Integer> list = new ArrayList<Integer>();
    ResultSet valuesResult = requestQuery(valuesQuery);
    while (valuesResult .next()) {
        list.add(sessionUsersResult.getInt(1));
    }
    return list;
}

调用
getValues
时,它总是执行新的查询。您还在main的循环中旋转它,它总是调用返回firts查询的函数

你有几个选择

您可以在迭代期间执行所需的逻辑:

public class someClass {
    
    public static int value;

    public static void main(String[] args) {
        Database.connect();
        ResultSet valuesResult = requestQuery(valuesQuery);
        while (valuesResult .next()) {
            value =  sessionUsersResult.getInt(1);
            System.out.println(value)
        }
    }
}
您可以将所有内容放入列表或数组,并在迭代之后返回,然后对其进行操作

public static List<Integer> getValues() throws SQLException {
    List<Integer> list = new ArrayList<Integer>();
    ResultSet valuesResult = requestQuery(valuesQuery);
    while (valuesResult .next()) {
        list.add(sessionUsersResult.getInt(1));
    }
    return list;
}
while(getValues())
将在每次迭代时调用
getValues()
方法,生成一个新执行的查询,从中读取(仅)第一行。
while(getValues())
将在每次迭代时调用
getValues()
方法,生成一个新执行的查询,从中读取(仅)第一排。