java - 为什么这段代码不返回字符串?

标签 java if-statement

对丑陋的代码感到抱歉。 (我是一名新程序员,正在尝试自学 Java。) 我只是想知道为什么编译器在 http://codingbat.com 上拒绝运行它并返回错误:

该方法必须返回 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";
    }

}

最佳答案

您需要考虑如果这些都没有的话将会返回什么 if条件被证明是正确的。例如,如果您传入字符串 "paxdiablo" .

一个简单的:

return "Stuffed if I know!";

在函数结束之前的大括号可能就足够了,尽管您可能想要使用更合适的东西:-)

<小时/>

事实上,从头开始。坐下来,拿着笔和纸,实际写下您期望的所有输入以及所有这些输入的输出。

然后考虑如果输入不是您所期望的输出应该是什么。将其翻译为一系列 if声明和最终return那么声明应该很容易。

关于java - 为什么这段代码不返回字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34216483/

相关文章:

Java 二维数组 for 循环

java - 简单 MapReduce 作业中的大量开销

java - 无法根据 Hashmap 中的键打印值

java - JFreeChart : How to create a middle panel with an oscillator

java - 打印语句中的if语句?

java - 如何检查一个int是否在一个值范围内

java - 如何使用java仅保存zip文件并删除其他文件夹?

java - 计算当前年龄;使用Java

c# - Switch 语句 Message.Contains

excel - 如何在excel中使用IF和SUM来计算连续的唯一条目?