新手村迷路,求大家导航

为啥报错啊!

img

为啥必须return a或return b
把a和b赋值给新的变量c,再返回c就不行吗
(用多元运算符,也可以实现)

img

请去掉16行的int c。
16行的意思是重新声明变量c,并未赋值,直接return会报错。
应在第9行写int c;,并去掉11行和13行的int。只有声明变量时需要加int,给变量赋值时不需要。
正解:

public static int max (int a, int b){
    int c;
    if (a>b) {
        c=a;
    }else{
        c=b;
    }
    return c;
}

最简写法(这里用到了三元运算):

public static int max (int a, int b){
    return a>b?a:b;
}

望采纳!

两个都是括号内定义的变量,只在括号内起作用。你需要将c定义在if语句的外面

把第16行删了就好了😁