为什么此代码不返回字符串?

翁巴克

很抱歉丑陋的代码。(我是一名新的尝试自学Java的编码器。)我只是想知道为什么http://codingbat.com上的编译器拒绝运行此代码,而是返回错误:

This method must return a result of type String

这是代码.......................

public String startOz(String str) {
    if (str.length() <= 2) {
        return str;
    }

    else if (str.charAt(0) == 'o' && str.charAt(1) != 'z') {
        return "o";
    }

    else if (str.charAt(1) == 'z' && str.charAt(0) != 'o') {
        return "z";
    }

    else if (str.substring(0 , 3).equals("oz")) {
        return "oz";
    }

}
鲁吉尔·巴尼亚(Ruchir Baronia)

如果您是在实际的IDE(例如eclipse)上运行此命令,则会收到错误消息:

missing return statement

现在您可能在想,

“但是Ruchir,我已经有4个返回语句!”

这些return语句都在if语句,这意味着如果不执行if语句,编译器将不知道该怎么回报。这将引发空指针异常。

如果您确定将执行其中一个if语句,则只需输入一个空的return语句即可:

return;

通过创建一个没有void的方法,就是说它返回一些东西。

只需在if语句之外添加return语句。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么此__repr__函数不返回字符串?

为什么此倒计时时钟代码返回未定义的字符串?

java中的字符串“ ==”检查引用,为什么此代码返回true?

为什么此代码不只返回“ S”,而是整个字符串减去“ S”

为什么此字符串与模式不匹配

为什么这个 L 系统代码不返回字符串?

为什么此函数返回''而不是串联字符串

为什么此代码不返回NullPointerException?

为什么此代码不返回 false?

为什么我的函数不返回字符串?

为什么字符串不返回其内存位置?

为什么函数不返回字符串?

为什么服务不返回编码字符串?

为什么ReSharper和/或Microsoft代码分析不抱怨此非本地化的字符串?

我的代码为什么不编译检查字符串是否以元音开头的代码?

为什么此字符串函数不更新?MQL4

为什么此 JavaScript 对象键与同名字符串不匹配?

Bash:为什么不匹配时不返回空字符串

在C中反转字符串。为什么此代码不起作用?

execvp()和/或字符串问题,为什么此代码不起作用?

为什么使用随机字符串的此代码会打印“ hello world”?

为什么此Golang代码无法将字符串转换为整数?

为什么此代码在字符串输入时会中断?

为什么此代码段给出“类型'Future <dynamic>'不是字符串类型的子类型”?

为什么此运行代码不打印字符串的最后一个值 /?

为什么 map 不返回新数组而是返回以逗号分隔的字符串

为什么此代码不返回空矩阵?

为什么真相&&“字符串”返回“字符串”

为什么++ [[]] [+ []] + [+ []]返回字符串“ 10”?