Java关于小框体传值的问题
 public String res(int a) {
        String res;
        switch (a) {
            case 1:
                res = "1";
                break;
            case 2:
                res = "2";
                break;
            case 3:
                res = "3";
                break;
        }
        return res;
    }

调用 res(1), return res 就是 ”1“
调用 res(2),return res 是 ”2“
调用 res(3) return res 是 ”3“,
根据传入的参数,修改字符串内容后返回字符串,这样的代码应该怎么写?
小弟才疏学浅,不知道表述是否完整。

这里会报错,res 没有初始化。。。
如果在 case 后 return,那底下有 missing return statement。。

2个回答

1.变量初始化(必须的!)
2.函数逻辑处理后面必须要有返回值

 public static String res(int a) {
        String res = null; //1.初始化对象
        switch (a) {
            case 1:
                res = "1";
                break;
            case 2:
                res = "2";
                break;
            case 3:
                res = "3";
                break;
            default:    // 2.最好添加一个默认处理(可能存在前面没有考虑到的情况)
                return res;
        }
        return res;
    }
xyw314290357
1ess 非常感谢!我明白了
接近 3 年之前 回复

就是没有初始化, 给他赋个值就行。 因为你的是局部变量,局部变量要使用,必须赋值,如果是成员变量会默认给他附一个初始值。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问