方法不返回int

时间:2016-03-16 00:33:02

标签: java methods int return

我有这个方法:

int totalNumGrades(){
    numTotal= numA+numB+numC+numD+numF;
    System.out.print("Total number of grades: ");
    return numTotal;
}

并且所有变量都初始化为:

private int numA, numB, numC, numD, numF, numTotal;

所以我们说:

numA=3, numB=3, numC=2, numD=1, numF=1

因此numTotal必须等于10.这就是问题,当我运行代码时,我在输出中得到的是:

Total number of grades:

就是这样,numTotal没有显示出来。如果我把numTotal放在print语句中,它会像它应该的那样出现,但是出于某种原因,当我尝试返回numTotal时,没有任何显示。我无法在线找到解决方案,所以请帮忙。我做错了什么?

修改

感谢所有答案,这很快,并且原谅我对这个主题缺乏了解,我不知道你可以将方法放在打印声明中。每天学些新东西。 Gracias amigos!

5 个答案:

答案 0 :(得分:2)

return numTotal;不会打印任何内容。它只返回10到调用方法的地方。而是将调用方法的代码更改为

System.out.printf("Total number of grades: %d", totalNumGrades());

然后删除方法内的print语句。最佳做法是不从内部方法打印内容,除非方法名称描述的方法的目的。

另外,如果您不打算在全班范围内使用它,请不要在全班范围内存储numTotal 只需return numA+numB+numC+numD+numF;

答案 1 :(得分:1)

您需要更改

System.out.print("Total number of grades: ");

System.out.print("Total number of grades: " + numTotal);

此外,您可以在调用方法中编写类似的print语句来打印返回值。

答案 2 :(得分:1)

要用Java打印东西,你必须把它放在打印声明中#34;正如你所说。

如果没有将值传递给printprintln或等效值,就无法神奇地打印值。

答案 3 :(得分:0)

从主方法中调用方法totalNumGrades() 例如:

public static void main(String[] args){
    System.out.print(totalNumGrades());
}

OR

您可以使用与

相同的方法
System.out.print("Total number of grades: " + numTotal);

答案 4 :(得分:0)

我认为你没有正确调用你定义的功能,这个关键词" return"只是给你结果,它不会打印它返回的内容。 流动将很好:

System.out.print("Total number of grades: " + numTotal);

字符串"成绩总数:"已经显示,只是因为你调用了函数" System.out.print(...)"。

希望这可以帮到你。