【发布时间】:2023-03-30 01:12:01
【问题描述】:
我不明白为什么 name.indexOf("d",4) 在我的程序中打印 8。我尝试用“d”替换其他字母,但它似乎总是打印一个随机数,而且我看不到任何模式来理解indexOf("character", integer) 实际在做什么,以及它是如何产生输出的。
import java.util.Scanner;
public class Practice {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String name;
name = "abcdefghd";
System.out.println(name.indexOf("d"));//3
System.out.println(name.indexOf("cde"));//2
System.out.println(name.indexOf("fe"));//-1
System.out.println(name.indexOf("d", 4));//8
}
【问题讨论】:
-
你读过它的javadoc吗?
-
这个问题似乎离题了,因为它是通过简单查看标准文档来回答的。
-
看在上帝的份上,不要试图猜测方法的作用。 你不能扔一只死猫不打 Java API 文档并给出正确的解释......
-
虽然从经验丰富的专业人士的角度来看,这很容易,但这是一个写得很好的问题,有一个很好、简洁的代码示例演示了这个问题。投票重新打开这篇文章。
-
重新开放选民,详情请见meta.stackexchange.com/questions/3251/…。