我有以下代码返回错误。
该行:
return first;
表示:
不兼容的类型,必需:char []
看起来很简单,但我无法弄清楚。我试图显示调用methodB
的值。
另外,您会注意到我已将if
语句评为#4。有人可以进一步了解我的意见。
如果if
中当前元素中保存的值高于当前值first
,此alphas
语句是否更新变量first
所持有的值?< / p>
希望这是有道理的,有人可以提供帮助。迟到了,我的大脑不再工作了。 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;
}
}
答案 0 :(得分:0)
您的功能签名表示您正在返回char[]
:
public static char[] methodB()
但实际上你返回char
:
char first = alphas[0];
// ...
return first;
您想要做什么并不完全清楚,但您需要更改签名以返回单个字符:
public static char methodB()
并改变它的使用位置:
char alp = m.methodB();
或者让methodB实际返回char[]
。问题是我不知道它究竟应该返回什么。我建议给这个函数一个更好的名字。您可能需要查看Lists。
答案 1 :(得分:0)
package openuniversity;
public class Main
{
public static void main(String[] args)
{
Main m = new Main();
char alp = m.methodB();
System.out.println(alp);
}
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;
}
}