我正在編寫一個程序,其中包含許多用於賦值的方法,並且在其中一個方法中,我需要找到字符c以字符串s開頭的索引。例如:查找索引,其中char c以字符串s開始
IN: sheep, h
OUT: 1
我這樣做的方法,但有兩個字符串,而不是一個字符串和一個字符
public static int findInStr1(String s1, String s2) {
for (int i = 0; i < s1.length() - s2.length(); i++) {
boolean found = true;
for (int j = 0; j < s2.length(); j++) {
if (s1.charAt(i) != s2.charAt(j)) {
found = false;
break;
}
}
if (found) {
return i;
}
}
return -1;
}
我試着走動一些事情,使之與一個char工作的,而不是第二個字符串
public static int findInStr2(String s1, char c) {
for (int i = 0; i < s1.length() - 1; i++) {
boolean found = true;
if (s1.charAt(i) != c) {
found = false;
break;
}
if (found) {
return i;
}
}
return -1;
}
,但它總是返回-1無論輸入
ŧ提前
爲什麼你'break'呢?只是擺脫它。 – wns349 2014-11-03 09:04:02
刪除'break',你的代碼應該可以工作。 – Jens 2014-11-03 09:04:49
爲什麼不使用[String.indexOf()](http://docs.oracle.com/javase/7/docs/api/java/lang/String.html#indexOf(java.lang.String)) ? – 2014-11-03 09:04:56