目的はテキストファイル内の文字列に検索をかけヒットしたものを表示する というものです
import java.io.*;
class kensakuTest{
public static void main(String[] args)throws IOException{
System.out.println("検索方法を選択してください。\n0:学籍番号で検索\n1:名前で検索\n2:出身地で検索");
BufferedReader br =
new BufferedReader(new InputStreamReader(System.in));
String str = br.readLine();
char res = str.charAt(0);
//0が選択された場合
if(res == '0'){
System.out.println("学籍番号を入力してください。");
BufferedReader bn =
new BufferedReader(new InputStreamReader(System.in));
String str0 = fn.readLine();
char num = str0.charAt(0);
try{
FileReader freader = new FileReader("addressdata.txt");
BufferedReader breader = new BufferedReader(freader);
String tmp = null;
while((tmp=breader.readLine())!=null){
//完全一致
if(){
System.out.println("検索結果:");
System.out.println(tmp);
}
}
breader.close();
}catch(IOException e){
System.out.println("e");
}
}
//1が選択された場合
if(res == '1'){
System.out.println("名前を入力してください。");
BufferedReader fn =
new BufferedReader(new InputStreamReader(System.in));
String str1 = fn.readLine();
char name = str1.charAt(0);
try{
FileReader freader = new FileReader("data.txt");
BufferedReader breader = new BufferedReader(freader);
String tmp = null;
//検索
//部分一致
while((tmp=breader.readLine())!=null){
if(tmp.indexOf(str1) > -1){
System.out.println("結果は:");
System.out.println(tmp);
}
}
breader.close();
}catch(IOException e){
System.out.println("e");
}
}
//2が入力された場合
if(res == '2'){
System.out.println("出身地を入力してください。");
BufferedReader bl =
new BufferedReader(new InputStreamReader(System.in));
String belong = bl.readLine();
try{
FileReader freader = new FileReader("addressdata.txt");
BufferedReader breader = new BufferedReader(freader);
String tmp = null;
while((tmp=breader.readLine())!=null){
//完全一致
if(){
System.out.println("検索結果:");
System.out.println(tmp);
}
}
breader.close();
}catch(IOException e){
System.out.println("e");
}
}
}
}
現状はここまでできましたが完全一致の検索のやり方がわかりません。
あと問題点があるのですが 読み取るファイルがこのような場合
2000,田中 太郎,福島県
2001,福島 太郎,東京都
名前で福島 と検索をかけたとします この場合答えが
2000,田中 太郎,福島県
2001,福島 太郎,東京都
と表示されてしまいます このカンマで区切られている学籍番号、名前、出身地をうまく分け
それぞれ判別する方法はないのでしょうか?
よろしくおねがいします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C# DatagridviewにExcelシートを反映するとエラーが出る 2 2023/05/06 17:12
- Ruby vscode 文字化け 1 2022/05/21 19:17
- オープンソース Try Kotlinで readLine()を使うには 1 2023/03/27 21:06
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- CGI htmlからパラメータで、cgiに渡したい。 1 2023/02/06 16:15
- PHP ここでの ②if($su_d<>"")の比較演算子 を使う理由は 1 2022/03/26 02:33
- C言語・C++・C# C# で、あるフォルダー内にあるすべてのテキストファイルを別のフォルダーにコピーする。 4 2022/11/21 13:23
- PHP 【PHP/MySQL】コード上で生成したクエリを基に集計クエリを作りたい 1 2022/07/28 15:06
- C言語・C++・C# C言語プログラム変更 2 2022/12/21 15:03
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C言語のポインターに関する警告
-
EclipseでJava
-
JAVAのDouble型の小数点以下の...
-
会員情報登録プログラムの作成...
-
配列を後ろから数えるには?
-
エクスクラメーション2つ?
-
Javaのコマンドライン引数を使...
-
javaで判別式のプログラミング...
-
コマンドプロンプトに不正な文...
-
JSPやサーブレットでSystem.out...
-
LC発振回路-ループ利得
-
java教えてください。
-
[JAVA]try 内の変数を外で!?
-
メール送信を行うJavaプログラム
-
nullcline
-
値を入力し、入力した値から最...
-
(急募)JavaじゃんけんでGUI...
-
VBAで配列の計算
-
配列にnullを代入すると、null...
-
ループ処理の際、最後だけ","を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C言語のポインターに関する警告
-
[JAVA]try 内の変数を外で!?
-
JSPやサーブレットでSystem.out...
-
JAVAのDouble型の小数点以下の...
-
EclipseでJava
-
「続行するには何かキーを押し...
-
文字列の引き算
-
java シンボルが見つかりません...
-
JAVA 文字色変更
-
改行の判定方法
-
JAVAのエラーの意味が分かりま...
-
Javaのコマンドライン引数を使...
-
java教えてください。
-
曜日の取得方法を教えて下さい!
-
JavaにはなぜGO TO ...
-
Javaでカレントディレクトリを...
-
構文解析中にファイルの終わり...
-
JAVA 三角形の判定
-
複数行キーボード入力した後に...
-
printfの%fにおいて教本どおり...
おすすめ情報