gpt4 book ai didi

Java While循环跳过行,而不是每2个周期执行一次

转载 作者:行者123 更新时间:2023-11-29 06:39:12 26 4
gpt4 key购买 nike

我正在编写一个家庭作业程序,该程序应该读入 0-100 分(最多 100 分)的未指定数量,并在输入 -1 或任何负数后停止。 我已将其放入一个 Do While 循环中,该循环设置为在通过扫描仪拉入 -1 时终止。该循环有一个计数器,用于跟踪循环已经进行了多少次,一个加法器,用于将所有输入行加在一起以稍后计算平均值,以及一种在检查到后将输入值发送到数组的方法查看数字是否为-1。循环不是这样做,而是每 2 次循环才递增计数器,-1 只会在偶数循环数时终止循环,否则它将等到下一个循环终止。这完全让我感到困惑,我不知道为什么要这样做。有人可以指出错误吗?提前致谢!这就是我到目前为止的全部内容。

import java.util.Scanner;

public class main {

//Assignment 2, Problem 2
//Reads in an unspecified number of scores, stopping at -1. Calculates the average and
//prints out number of scores below the average.
public static void main(String[] args) {

//Declaration
int Counter = 0; //Counts how many scores are
int Total = 0; //Adds all the input together
int[] Scores = new int[100]; //Scores go here after being checked
int CurrentInput = 0; //Scanner goes here, checked for negative, then added to Scores
Scanner In = new Scanner(System.in);

do {
System.out.println("Please input test scores: ");
System.out.println("Counter = " + Counter);
CurrentInput = In.nextInt();
Scores[Counter] = CurrentInput;
Total += In.nextInt();
Counter++;
} while ( CurrentInput > 0);

for(int i = 0; i < Counter; i++) {
System.out.println(Scores[i]);
}


System.out.println("Total = " + Total);

In.close();


}

}

最佳答案

    CurrentInput = In.nextInt();
Scores[Counter] = CurrentInput;
Total += In.nextInt();

您调用了两次 In.nextInt(),即您在每次循环迭代中读取了两行。

关于Java While循环跳过行,而不是每2个周期执行一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14823563/

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