我有这个方法:
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!
答案 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;正如你所说。
如果没有将值传递给print
或println
或等效值,就无法神奇地打印值。
答案 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(...)"。
希望这可以帮到你。