对丑陋的代码感到抱歉。 (我是一名新程序员,正在尝试自学 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/