Java 如何修复此数组中的For循环?
下面是作业说明:“数组testGrades包含NUM_VALS测试分数。编写一个for循环,将sumExtra设置为收到的总额外分数。满分为100,因此任何超过100的都是额外分数。例如:如果testGrades={101,83,107,90},那么sumExtra=8,因为1+0+7+0是8。” 该程序几乎可以工作,除了输入以下输入:{101、110、103、100}。它的产量不是14(1+10+3=14),而是4。代码如下:Java 如何修复此数组中的For循环?,java,arrays,Java,Arrays,下面是作业说明:“数组testGrades包含NUM_VALS测试分数。编写一个for循环,将sumExtra设置为收到的总额外分数。满分为100,因此任何超过100的都是额外分数。例如:如果testGrades={101,83,107,90},那么sumExtra=8,因为1+0+7+0是8。” 该程序几乎可以工作,除了输入以下输入:{101、110、103、100}。它的产量不是14(1+10+3=14),而是4。代码如下: import java.util.Scanner; public
import java.util.Scanner;
public class SumOfExcess {
public static void main (String [] args) {
Scanner scnr = new Scanner(System.in);
final int NUM_VALS = 4;
int[] testGrades = new int[NUM_VALS];
int i;
int sumExtra = -9999; // Assign sumExtra with 0 before your for loop
for (i = 0; i < testGrades.length; ++i) {
testGrades[i] = scnr.nextInt();
}
/* Your solution goes here */
sumExtra = 0;
for (i = 0; i < testGrades.length; ++i) {
if (testGrades[i] >= 101) {
sumExtra = testGrades[i] - 100;
++sumExtra;
}
}
System.out.println("sumExtra: " + sumExtra);
}
}
import java.util.Scanner;
公共类消费支出{
公共静态void main(字符串[]args){
扫描仪scnr=新扫描仪(System.in);
最终整数=4;
int[]testGrades=新int[NUM_VALS];
int i;
int-sumtextra=-9999;//在for循环之前为sumtextra分配0
对于(i=0;i=101){
sumExtra=试验等级[i]-100;
++萨姆特拉;
}
}
System.out.println(“sumtextra:+sumtextra”);
}
}
您每次都在重新分配sumExtra。所以你想用
sumtextra+=testGrades[i-100]
和摆脱++sumExtra代码>您不应执行以下操作:
++sumExtra;
你应该在这里求和:
sumExtra += testGrades[i] - 100;
最终代码:
sumExtra = 0;
for (i = 0; i < testGrades.length; ++i) {
if (testGrades[i] >= 101) {
sumExtra += testGrades[i] - 100;
}
}
sumtextra=0;
对于(i=0;i=101){
sumExtra+=试验等级[i]-100;
}
}
能否请您修改您的标题,以便将来当您再次遇到与此处相同的问题时,您能够轻松准确地找到此问题?否则,这将破坏该网站的目的,该网站将成为可搜索的编程问题存储库。