2017-11-03 6 views
-2

タイトル。文字列内に文字がない場合は-1を返します。ここまでは私が今までに持っていたものですが、望ましい出力が得られていません。それは何らかの理由で私にキャラクターのアスキー値を与えています。文字列内の文字の最初の出現箇所を見つける(java)

public static int findInStr(String s1, char c){ 
    for (int i = 0; i < s1.length(); i++) { 
     if (s1.charAt(i) == c) 
      return s1.charAt(i); 
    } 
    return -1; 
} 
+1

関数の戻り値の型は 'int'です。 'char'を' int'に変換し、ASCII値を返します。 –

+0

s1.indexOf(c)を使用できますか? –

+1

'c 'が見つかる最初のインデックスを探している場合は' return i'だけです。 –

答えて

1

と同じように、文字列内の文字のインデックスに私を返す:

あなたはまた、forループを使用せずに、このメソッドを使用することができます
public static int findInStr(String s1, char c){ 
for (int i = 0; i < s1.length(); i++) { 
    if (s1.charAt(i) == c) 
     return i; 
} 
return -1; 

}

::

public static int findInStr(String s1, char c){ 
    return s1.indexOf(c); 

}

文字列stringOfに文字がない場合は-1を返し、それ以外の場合は文字の最初の出現のインデックスを返します

関連する問題