wyybwdq 发表于 2020-10-19 22:33:25

关于return返回值的简单问题

class m
{
        public int f(int n)                   //函数是随便写的,应该没有语法和逻辑错误
        {                                       //但是编译器一直提示 “此方法必须返回 int 类型的结果”
                                                //难道 k 不是类型吗
                int k;
                for(k=0;k<=n;k++)    //请各位指点
                {
                        if(k==n)
                        return k;             
                }
               
        }
}
public class test
{
        public static void main(String[] args)
{
        m A = new m();
        A.f(10);
}
}

永恒的蓝色梦想 发表于 2020-10-19 23:06:58

你必须得保证函数一定有一个返回值。改成class m {
    public int f(int n) {
      int k;

      for (k = 0; k <= n; k++) {
            if (k == n) {
                return k;
            }   
      }

      return 0;
    }
}


public class test {
    public static void main(String[] args) {
      m A = new m();
      A.f(10);
    }
}即可

wyybwdq 发表于 2020-10-19 23:25:37

永恒的蓝色梦想 发表于 2020-10-19 23:06
你必须得保证函数一定有一个返回值。改成即可

请问 return k   不算返回值吗。
还是Java语法规定在方法的结尾必须有一个相对应的返回值

永恒的蓝色梦想 发表于 2020-10-19 23:44:47

wyybwdq 发表于 2020-10-19 23:25
请问 return k   不算返回值吗。
还是Java语法规定在方法的结尾必须有一个相对应的返回值

必须保证有一个返回值
页: [1]
查看完整版本: 关于return返回值的简单问题