【发布时间】:2017-09-22 23:02:13
【问题描述】:
我无法理解这一点。参加基础课程,这个任务是关于在字符串中查找不是少数预先指定的字符之一的字符的索引。
教科书上说代码应该是:
public static int sokForstaIckeBland (String s, String tecken, int start) {
for (int i=start; i<s.length(); i++)
if (tecken.indexOf(s.charAt(i)) == -1)
return i;
return -1;
}
String s 是我要在其中搜索字符的文本,string tecken 是我要在搜索中排除的字符,int start 是开始搜索的位置。
我不明白为什么 if 语句以 -1 结尾,这是做什么的?
编辑: 一个例子。字符串 s = "28723709dh23ha" 和字符串 tecken = "=0123456789"。当它执行时,我想找到不是 0123456789 的字符的第一次出现并且返回了 int 。但我不明白这种方法是如何做到的。知道这是非常基本的,但你必须从某个地方开始 :)
【问题讨论】:
-
这是一种表示您没有找到任何东西的方式。
-
返回
-1表示您传递给indexOf的字符在String中根本找不到。 -
return -1在if之外,甚至在for之外,因此只有在循环遍历字符串而没有找到合适的字符时才会执行 -
你为什么不问班主任或助教而不是这个网站上的随机陌生人?导师的工作是教书,所以如果你有问题,就去问他/她。
-
我知道 -1 表示我没有找到任何东西,但对我来说,似乎两个 return 语句都返回相同的东西。我在上面的文字中添加了更多信息。 @stackoverflowuser2010 这是一个有用的评论,谢谢!仅供参考,这是一本我正在学习的书,没有老师的正式课程。
标签: java if-statement methods char indexof