如果 "sorIndex"无效,则在我的代码中的结果不为空



我需要你的一些指导,目前我面临这个练习的挑战:

此代码的目的是,如果sorIndexString数组的范围内,则将String(szoveg(拆分为行,并返回结果row(sorIndex)(String szoveg拆分为此数组(。

如果请求的行数不在有效范围内(数组的0长度(,则应返回null值。测试练习的IDE返回一个错误,如下所示(匈牙利语+英语(:

"一个getSor((遇到了ódus nem müködik jól。Nem létezõsorIndexet megadvanull-t kell visszaadjon a metódus。一个结构或参数:;

"getSor((方法工作不正常。给定无效sorIndex,该方法应返回null。的参数构造函数:"-IDE中此部分之后没有任何内容。

public String getSor(int sorIndex) {
int sorok= szoveg.split("n").length;
String sor;
if (sorIndex >= 0 && sorIndex <= sorok) {  
String[] stringTomb = new String[sorok];
stringTomb = szoveg.split("n");
sor = stringTomb[sorIndex];
} else {
sor = null;
}
return sor;
}

有人知道我在哪里犯的错吗?

谢谢!

错误消息告诉如果传递了无效的sorIndex,则应返回null。这意味着它不是进入逻辑中的else分支,而是以无效的方式进入if

原因是数组是0索引的,所以应该以一种严格的方式与行(sorok(进行比较:

if (sorIndex >= 0 && sorIndex < sorok) { 

这应该可以解决问题。但是,您的代码会多次计算split,这是多余的。我会将其重构为:

public String getSor(int sorIndex) {
if (szoveg == null) return null; // Handling the case when szöveg is not properly initialized
String stringTomb[] = szoveg.split("n");
return ((sorIndex >= 0) && (sorIndex < szoveg.length)) ? stringTomb[sorIndex] : null;
}

我使用了三元运算符使其可读性更强、简洁简洁。

相关内容

  • 没有找到相关文章

最新更新