【发布时间】:2011-10-27 00:41:51
【问题描述】:
我有以下返回错误的代码。
行:
return first;
说:
不兼容的类型,必填:char[]
这似乎很简单,但我想不通。我正在尝试显示调用 methodB 的值。
另外,您会注意到我已将if 语句注释为#4。有人可以进一步加深我的理解。
如果alphas 中当前元素中保存的值在first 的当前值之前,此if 语句是否更新变量first 保存的值?
希望这是有道理的,有人可以提供帮助。迟到了,我的大脑不再工作了。 Java 将决定我的成败!
package openuniversity;
public class Main
{
public static void main(String[] args)
{
Main m = new Main();
char [] alp = m.methodB();
for (char b: alp)
{
System.out.println(b);
}
}
public static char[] methodB()
{
char [] alphas = {'s','a','u','s','a','g','e'};
char first = alphas[0];
for (int i= 1; i < alphas.length; i++) //3
{
if (alphas[i] < first) //4
{
first = alphas[i];
}
}
return first;
}
}
【问题讨论】:
-
methodB被声明为返回char[],但您试图返回单个char。 -
谢谢。你能告诉我我需要改变什么吗?从我的方法头中删除 char [] 并不能解决问题:/
-
我会认真考虑一个初学者的编程/java指南。您声明该方法以返回特定类型的事物,然后返回该类型的事物。如果您尝试返回不同类型的东西,它将无法编译。
-
我正在英国开放大学学习一个模块,这让我陷入了困境。导师是无用的,比帮助我更让我困惑。我有一个很棒的文本,我正在处理,但我需要清理它以进行评估。他们强迫我在我能走路之前跑,结果就是这样:(
-
"我有以下代码返回错误。"不,它没有,它给出了一个编译错误。
标签: java methods if-statement invoke