配列を作成せずにファイルのすべての内容を追加することなく、特定の単語のファイルを検索するプログラムを作成しようとしていますそれは簡単に移植され、異なるファイルサイズなどで使用することができます)。以下は私のコードです:Java - リストを使用せずにファイルを検索する
package test2;
import java.io.InputStream;
import java.util.Scanner;
import javax.swing.JOptionPane;
/**
*
* @author Kafaka157
*/
public class Prep2 {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
InputStream stream = Prep1.class.getResourceAsStream("words.txt");
Scanner scanner = new Scanner(stream);
while(scanner.hasNextLine()){
String word = JOptionPane.showInputDialog("Input word to look for: ");
if(word.equals(scanner.next().trim())){
JOptionPane.showMessageDialog(null, word + " found"); // found
break;
}else{
JOptionPane.showMessageDialog(null,word + " not found"); // not found
break;
}
}
}
}
上記しかし、それは私がファイル内にいることを知っている言葉で見つけ戻りません、私のコードは、私はビルドエラーか何かを得ることはありません。それは、すべてのインスタンスで、私は間違っているすべてのヘルプ/アイデアelseにデフォルトに思われる?どうもありがとう。
最初の反復で 'while'ループを抜け出しています。それは 'break'ステートメントを持つことです。そして、あなたの入力ダイアログがループの前に表示されるはずです(繰り返し入力を求めない限り)。 – khelwood
'scanner.hasNextLine()'はおそらく 'scanner.hasNext()'でなければなりません。一般的に、あなたの読取り操作はあなたの小切手と一致する必要があります。 – VGR
@ khelwood - そうですね、各繰り返しの後に終了したい/毎回尋ねます。後でオプションなどを追加して追加しますが、今のところそれは1つの使い方です。しかし、問題はそれが私がファイル内にあると知っている文字列を読んでいないことです –