作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
由于某种原因,下面的这部分代码没有将每个数组项添加到一起。我单步执行调试器,正在创建并递增数组项,但 total += ScoreArray[i];
似乎没有将已输入的数字相加。相反,我只是将第一个输入除以数组长度作为最终输出
public double getAverage()
{
double total = 0.0;
for (int i = 0; i < scoreArray.length; i++)
total += scoreArray[i];
return (total / scoreArray.length);
}
完整代码
package driver;
import java.util.Scanner;
public class TestScores
{
private double[] scoreArray;
public TestScores(double[] test) throws IllegalArgumentException
{
scoreArray = new double[test.length];
for (int i = 0; i < test.length; i++)
{
if (test[i] < 0 || test[i] > 100)
throw new IllegalArgumentException("Test scores must have a value less than 100 and greater than 0.");
else
scoreArray[i] = test[i];
}
}
public double getAverage()
{
double total = 0.0;
for (int i = 0; i < scoreArray.length; i++)
total += scoreArray[i];
return (total / scoreArray.length);
}
public static void main(String[] args)
{
int score = 0;
int scores = 0;
Scanner userInput = new Scanner(System.in);
System.out.print("Enter number of test scores: ");
score = userInput.nextInt();
double[] scoreArray = new double[score];
for (int i = 0; i <= score - 1; i++)
{
System.out.print("Enter test score " + (i + 1)+ ": ");
scoreArray[scores] = userInput.nextDouble();
}
TestScores testScore = new TestScores(scoreArray);
System.out.println(testScore.getAverage());
}
}
最佳答案
请更改接受用户评分的循环,如下所示:
for (int i = 0; i <= score - 1; i++)
{
System.out.print("Enter test score " + (i + 1)+ ": ");
// scoreArray[scores] = userInput.nextDouble(); <-- value of scores is zero
scoreArray[i] = userInput.nextDouble();
}
在填充 ScoreArray 时,您应该使用“i”而不是“scores”。目前,您仅使用最后输入的用户输入来填充“scoreArray”。
关于java - 数组输入未相加。 -- 总计 += ScoreArray[i];,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60387746/
由于某种原因,下面的这部分代码没有将每个数组项添加到一起。我单步执行调试器,正在创建并递增数组项,但 total += ScoreArray[i]; 似乎没有将已输入的数字相加。相反,我只是将第一个输
我是一名优秀的程序员,十分优秀!