-1

スキャナーから指定された文字を見つける Java プログラムを作成しようとしています。findWithinHorizo​​n を使用してこれを行うことはできますか?

4

2 に答える 2

1

スキャナーでjava.util.Scannerを意味する場合

    public int fromScanner(Scanner scanner, String letter){
    scanner.useDelimiter(letter);
    int howMany = 0;
    while(scanner.hasNext()){
        scanner.next();
        ++howMany;
    }
    if(howMany>0)++howMany;
    return howMany;
}

文字を数えるもっと良い方法があります。あなたがしていることのヒントはありますか?

ここで編集は実際にfindWithinHorizo​​nを使用しています

 public int fromScanner2(Scanner scanner, String letter){ 
      int result = 0;
      String resultS = null;
      while( (resultS = scanner.findWithinHorizon(letter, 0)) !=null ){
           ++result;
      }
      return result;
 }

現在、この方法は少し直感的ではありません(少なくとも私にとっては)。それを使用して実際に出現が見つかった場合、 Scanner は内部的に整数を持ち、最後に見つかった位置を追跡します。そして、次の検索では、この位置を使用して検索を開始します

于 2013-04-29T11:59:50.693 に答える