给定一个s字符串和一个n字符串,在s字符串中找出n字符串出现的第一个位置(从0开始)。如果不存在,则返回 -1(需要给出多个测试用例,证明算法的正确性)java
时间: 2024-02-18 14:04:13 浏览: 60
可以使用Java中的indexOf()方法来实现字符串匹配。该方法可以返回字符串在另一个字符串中第一次出现的位置。
以下是一个示例代码:
```java
public class StringMatch {
public static void main(String[] args) {
String s = "hello world";
String n = "world";
int index = s.indexOf(n);
if (index == -1) {
System.out.println("不存在");
} else {
System.out.println("第一次出现的位置为:" + index);
}
}
}
```
该程序的输出结果为:第一次出现的位置为:6。
我们可以编写多个测试用例来验证该算法的正确性,例如:
```java
public class StringMatchTest {
public static void main(String[] args) {
testMatch();
testNoMatch();
testEmpty();
}
// 测试匹配情况
public static void testMatch() {
String s = "hello world";
String n = "world";
int index = s.indexOf(n);
assert index == 6;
System.out.println("testMatch passed");
}
// 测试不匹配情况
public static void testNoMatch() {
String s = "hello world";
String n = "java";
int index = s.indexOf(n);
assert index == -1;
System.out.println("testNoMatch passed");
}
// 测试空字符串
public static void testEmpty() {
String s = "";
String n = "hello";
int index = s.indexOf(n);
assert index == -1;
System.out.println("testEmpty passed");
}
}
```
该程序将输出三个测试用例的执行结果,如果所有测试用例都通过,则说明该算法是正确的。
阅读全文