0

だから私はすでに特定の単語を検索するクラスメソッドを作成しましたが、(ほとんどの場合、ここにいるように!)脳の誤動作があり、必要なことを行うためにそれを変更する方法がわかりません. ここに私がこれまでに持っているものがあります:

private static int findFourLetterWord(String[] strings, String key) {
   for (int i = 0; i < strings.length; i++)
      if (strings[i].equals(key))
      return i;
   return -1;
}

したがって、これは「キー」の配列を検索し、見つかった場合はその位置を返します。私がやろうとしているのは、文字列の配列で最初に遭遇した 4 文字の単語を検索し、その単語を返すことです。最初の戻り値を ibelieve に変更しますがSystem.out.println(strings[i]);、見つかった最初の 4 文字の単語を検索する方法がわかりません。一連の複雑な部分文字列を使用しようとしましたが、うまくいきませんでした。アドバイスやガイダンスは素晴らしいでしょう。前もって感謝します。

4

3 に答える 3

3

現在の方法は近いです。String#length()forループの条件を変更して、キー引数と等しいのではなく、4の長さをチェックするだけです。

private static String findFourLetterWord(String[] strings) {
    for (String str : strings) {
        if (str.length() == 4) {
            return str;
        }
    }
    return null;
}

どのメソッドが便利か分からない場合は、 JavaDocsを参照することを忘れないでください。

于 2012-10-30T15:19:43.000 に答える
2

私はあなたの質問を正しく理解していますか?

private static String findFourLetterWord(String[] strings) {
   for (int i = 0; i < strings.length; i++)
      if (strings[i].length()==4)
          return strings[i];
   return null;
}
于 2012-10-30T15:19:27.420 に答える
0

次のように関数を使用substringして、キーと文字列の最初の 4 文字を取得します。

 private static int FindFourLetterWord(String[] strings, String key) {
   //Assuming key length is 4 or more
   String keyWithFourChars = key.substring(0,4); 

   for (int i = 0; i < strings.length; i++){
     if(strings[i].length() > 3){
        if (strings[i].substring(0,4).eqauls(keyWithFourChars)){
         return i;
        }
      }
    }
    return -1;
 }

4 文字の文字列だけを探したい場合は、次のように長さを確認するだけです。この場合、keyパラメーターとして渡す必要はありません。

 private static int FindFourLetterWord(String[] strings) {
   for (int i = 0; i < strings.length; i++){
       if(strings[i].length() == 4){
         return i;
       }
    }
    return -1;
 }
于 2012-10-30T15:20:53.440 に答える