-2

我正在寻找一种将值index.totalNumCitations设置为我在该 while 循环中设置的值的方法。我将值设置为1初始值,以便 for 循环至少执行一次。我尝试在 for 循环之前获取值,但这也不起作用。如果有人能指出我正确的方向,我将不胜感激。

    for (int i = 0; i < index.totalNumCitations; i++) {


       while (inputInteger > 50 || inputInteger < 0) {
           inputInteger = Integer.parseInt(sc.nextLine());
           index.Index(inputInteger);
    }

这是while循环中使用的方法

public void Index(int totalNumCit) {
    if (totalNumCit <= 50 && totalNumCit > 0) {
        this.totalNumCitations = totalNumCit;
        citationIndex = new Citation[totalNumCit];
    } else {
        System.out.println("Error: Please enter a number between 0 and 50.");
    }
}  
4

1 回答 1

1

问一个问题时,试着更笼统地描述你想要做什么。人们可能会想出更好的解决方案。

但是对于这种情况,我建议您将 while 循环放在 for 循环之前。因为如果你不在for循环的其他地方改变inputInteger的值,while循环只会在for循环的第一个循环中运行。

while (inputInteger > 50 || inputInteger < 0) {
           inputInteger = Integer.parseInt(sc.nextLine());
           index.Index(inputInteger);
}

for (int i = 0; i < index.totalNumCitations; i++) {

    //whatever you want to do

}
于 2013-09-28T19:01:13.073 回答