3

これらが私の2つの弦だとしましょう

String listOfIntegers = ("1 5 9 12 15 50 80 121");
String integerToLookFor = ("12");

プログラムでlistOfIntegersをスキャンし、integerToLookForが文字列に含まれている場合は出力します。何か案は?

4

6 に答える 6

6
  1. 文字列の配列を取得するには、区切り文字としてスペースを使用して文字列を分割します。
  2. 配列をスキャンし、すべての要素がルックアップ変数と等しいかどうかを確認します。

コード:

String listOfIntegers = ("1 5 9 12 15 50 80 121");
String integerToLookFor = ("12");
String[] splitArr = listOfIntegers.split("\\s");
for(String s: splitArr){
    if(s.equals(integerToLookFor)) {
        System.out.println("found: " + s);
        break; //breaks out of the loop
    }
}
于 2012-11-29T23:29:17.053 に答える
2

検索するリストと番号の両方がスペースで囲まれていることを確認すると、検索を簡略化できます。

    String listOfIntegers = " " + "1 5 9 12 15 50 80 121" + " ";
    String integerToLookFor = " " + "12" + " ";
    if (listOfIntegers.indexOf(integerToLookFor) != -1) {
        // match found
    }
于 2012-11-29T23:46:54.727 に答える
2

リストを文字列配列に分割し、 foreach ループを使用して値を比較して一致を見つけます。

于 2012-11-29T23:24:30.440 に答える
2
import java.util.Arrays;    
String listOfIntegers = ("1 5 9 12 15 50 80 121");
String integerToLookFor = ("12");    
System.out.println(Arrays.asList(listOfIntegers.split(" ")).contains(integerToLookFor));
于 2012-11-30T10:25:59.540 に答える
0

正規表現パッケージでMatcherとPattern.compilerを使用できます。以下の例を参照してください。

Pattern p = Pattern.compile(integerToLookFor);
Matcher m = p.matcher(listOfIntegers);
while(m.find()){

   System.out.println("Starting Point:"+m.start()+"Ending point:"+m.end());

}
于 2012-11-29T23:44:40.093 に答える
0
Array ints = listOfIntegers.split(' ');
print ints.inArray(integerToLookFor);
于 2012-11-29T23:23:14.897 に答える