对于这个问题,如果最右边的数字是5或更多,我们将int
值舍入到10的下一个倍数,所以15轮最多为20个。或者,向下舍入到前一个如果其最右边的数字小于5则为10的倍数,因此12轮向下为10.给定3 int
sa,b和c,返回其舍入值的总和。为避免代码重复,请编写单独的帮助程序public int round10(int num) {
并将其调用3次。将帮助程序完全写在roundSum()
以下的缩进级别下面。
roundSum(16,17,18)→60
roundSum(12,13,14)→30
roundSum(6,4,4)→10
我已经解决了这个问题:
public int roundSum(int a, int b, int c) {
return round(a)+round(b)+round(c);
}
public int round(int n){
int A=0;
int D=n%10;
if (D>4)
A=n/10*10 +10;
if(D<5)
A=n/10*10;
return A;
}
但编译后说:
Error: public introundSum(int a, int b, int c) { ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Return type for the method is missing
有什么问题? 感谢。
答案 0 :(得分:4)
public introundSum(int a, int b, int c) {
你错过了那里的空间:
public int roundSum(int a, int b, int c) {
// /\
返回类型是方法名称的一部分,因此Java抱怨您没有返回类型。
答案 1 :(得分:3)
非常简单:语法错误。 public introundSum(...){
实际应该是public int roundSum(...){
。由于您将returntype和methodname组合成一个单词,因此java将其读作名称为introundSum
且没有返回类型的方法。
答案 2 :(得分:0)
您需要在方法签名中int
之后为方法添加返回类型,在这种情况下为public
。像这样:
public int roundSum(int a, int b, int c){ .... }