我无法在java中解决这个问题

时间:2015-04-17 02:10:22

标签: java

对于这个问题,如果最右边的数字是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

有什么问题? 感谢。

3 个答案:

答案 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){ .... }