Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 方法未打印正确的值不是由于int除法_Java - Fatal编程技术网

Java 方法未打印正确的值不是由于int除法

Java 方法未打印正确的值不是由于int除法,java,Java,我正在为我的计算机科学课做这个项目,它告诉你期末考试你需要获得什么分数才能在课堂上获得A。我正在研究一种方法,找到你需要得到的分数,但它一直打印出15分 有人知道我做错了什么吗? 该问题不是由于int分割引起的 public int gradeNeeded() { int sumSum = 0; double newOverall = 0; int i = 0; for (int j = 0; j < sumGrades.length; j++) {

我正在为我的计算机科学课做这个项目,它告诉你期末考试你需要获得什么分数才能在课堂上获得A。我正在研究一种方法,找到你需要得到的分数,但它一直打印出15分

有人知道我做错了什么吗? 该问题不是由于int分割引起的

public int gradeNeeded() {
    int sumSum = 0;
    double newOverall = 0;
    int i = 0;
    for (int j = 0; j < sumGrades.length; j++) {
        sumSum += sumGrades[j];
    }
    while (newOverall < 90) {
        sumSum += i;
        double sumAverage = ((double) sumSum / (sumGrades.length + 1));
        newOverall = (this.getFormAverage() * .25) + (sumAverage * .75);
        i++;
    }
    return i;
}
public int gradeNeeded(){
int sumSum=0;
双新总体=0;
int i=0;
对于(int j=0;j
问题在于循环中的sumSum不断增加。你还应该在循环开始时增加i,这样你就不会偏离1

   int i = -1;

   while (newOverall < 90) {
        i++;
        int nSum = sumSum+i;
        double sumAverage = ((double) nSum / (sumGrades.length + 1));
        newOverall = (this.getFormAverage() * .25) + (sumAverage * .75);
    }
inti=-1;
而(新总体<90){
i++;
int nSum=总和+i;
双sumAverage=((双)nSum/(sumGrades.length+1));
newOverall=(this.getFormAverage()*.25)+(sumAverage*.75);
}

您希望它打印出什么?给我们一些输入示例。问题在于
sumAverage=sumSum/(sumGrades.length+1)
,它使用整数除法。有关这方面的更多信息,请参阅我链接到的问题。(太长了,读不下去了)(Trime= SuMAWISTAL =((双)SUMSONS/(SUMGADESULL + 1)< /代码>)我到现在为止测试的是80,FUMAIMANCE和SUMPLACE数组中的2个90s,并且这些输入应该返回100ySaveIT,没有修复它。它仍然返回15。OOP抱歉,我的父母错了。应该是< >((双)SUMSUM)/…