スキャナーから指定された文字を見つける Java プログラムを作成しようとしています。findWithinHorizon を使用してこれを行うことはできますか?
質問する
1083 次
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;
}
文字を数えるもっと良い方法があります。あなたがしていることのヒントはありますか?
ここで編集は実際にfindWithinHorizonを使用しています
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 に答える