public class Addkensaku {
//読み込むファイルのパス
private static final String FILE_PATH = "";
private static enum SearchMode {
NAME, AGE, ADDR, REGIST, EXIT
}
private static final Map<String, SearchMode> modeMap;
static {
modeMap = new HashMap<String, Addkensaku.SearchMode>();
modeMap.put("1", SearchMode.NAME);
modeMap.put("2", SearchMode.AGE);
modeMap.put("3", SearchMode.ADDR);
modeMap.put("5", SearchMode.REGIST);
modeMap.put("9", SearchMode.EXIT);
}
public static void main(String[] args) throws IOException {
BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
String mode = null;
System.out.println("何をしますか?\n1.名前(ファーストネーム)で検索\n2.フルネームで検索\n3.年齢で検索\n4.都道府県で検索\n5.追加");
mode = buf.readLine();
if (!checkSearchMode(mode)) {
System.out.println("入力値が不正です");
return;
}
// 読み込み
List<Addr> allData = readData(FILE_PATH);
SearchMode enmMode = modeMap.get(mode);
// 検索
String keyword = null;
List<Addr> answer = search(allData, enmMode, keyword);
}
private static List<Addr> readData(String path) {
return null;
}
//ファイル書きこみ
private static void writeData(String path) {
}
private static List<Addr> search(List<Addr> allData, SearchMode mode, String keyword) {
if(SearchMode.NAME == mode){
}
if (SearchMode.AGE == mode) {
for (Addr record : allData) {
record.getName();
}
if(SearchMode.ADDR == mode){
}
}
return null;
}
private static boolean checkSearchMode(String value) {
return modeMap.get(value) != null;
}
}
クラスAddr.java
public class Addr {
private String name;
private String age;
private String add;
//データ更新用メソッド
public void setName(String name) {
this.name = name;
}
public void setAge(String age) {
this.age = age;
}
public void setAdd(String add) {
this.add = add;
}
//参照メソッド
public String getName() {
return name;
}
public String getFirstName() {
return name.split(" ")[1];
}
public String getAge() {
return age;
}
public String getAdd() {
return add;
}
}
二つのクラスを使いテキストファイルの中身を読み込み検索しようとしています
ですがパスの指定場所はあっているはずなのですがうまくファイルが読み込めなくここからどのように作っていけばいいかわからず困っています
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
読み込むテキストファイル名として"FILE_PATH" が指定されていますが、nullのままではないでしょうか。
また readData メソッドの中身は return null; となっています。
これではファイルは読み込み出来ないでしょう。
ソースを再度見直して下さい。
途中までしか書かれていないメソッド等を最後まで書き上げて下さい。
机上デバッグを自分が計算機になったつもりで1ステップ毎に実行トレースしてみて下さい。
或いはEclipse等でステップ実行し確認する、
途中にprint文等を追加してプログラムの流れや関連するデータの内容を確認する
等をトライしてみて下さい。
その他、Javaの入門書等を入手して基礎から理解するようにして下さい。
http://oshiete.goo.ne.jp/qa/8361827.html
おすすめのjavaの本を教えて下さい
No.2
- 回答日時:
> この場合どこにFileReaderをいれたらいいのでしょうか?
「ファイルを読み込む前に実行される箇所」です。
正解を知っているのは、あなただけです。
「プログラムの設計図」を作ってますか?
その「設計図」では、ファイルを読み込むのはどこですか?
それは、このプログラムではどこに該当しますか?
例えば、「mainが開始すると同時にオープン」という作り方も、間違いではありません。(その後の処理が正しければ)
> // 読み込み
> List<Addr> allData = readData(FILE_PATH);
とあるので、 readDataメソッドの中に書くのも正しいでしょう。
readDataメソッドから呼び出される他のメソッドの中に書くこともできます。
専用のクラスを定義してもよいでしょう。
それぞれに一長一短があります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java JavaのSingletonパターンのprivateの持つ意味が分かりません。 5 2022/06/12 10:38
- Java java final 1 2022/06/10 22:49
- C言語・C++・C# C++プログラミングコードにポリモーフィズムを取り入れ方を教えてください。 2 2023/06/09 11:17
- C言語・C++・C# C# DatagridviewにExcelシートを反映するとエラーが出る 2 2023/05/06 17:12
- C言語・C++・C# 大量のデータを読み込んで表示する速度を改善したい 8 2023/05/07 13:29
- Java Java プログラム public class Main { public static void 3 2023/08/10 23:46
- Java java 入力 3 4 3 出力 ABC DEFG HIJ このようなプログラムの書き方を教えてくだ 2 2022/07/15 14:18
- Visual Basic(VBA) 別シートから年齢別の件数をカウントしたいの続き 5 2023/01/24 00:16
- C言語・C++・C# C# で、あるフォルダー内にあるすべてのテキストファイルを別のフォルダーにコピーする。 4 2022/11/21 13:23
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コマンドライン引数のチェック
-
Java初級 引数に適用できません
-
abstract と static を一緒に付...
-
レコード件数の表示
-
public static void main (Stri...
-
Google Apps Script で getRang...
-
privateのメソッドをリフレクシ...
-
Java初心者です。例外のキャッ...
-
なぜprotected overrideなのか
-
JUnitのテストメソッドごとのメ...
-
初歩的な メソッドの引数について
-
Javaの関数名が長い?
-
Javaの文法
-
戻り値の異なるメソッドの多重...
-
contextってなんですか?
-
Java ゲームプログラミング 例外
-
javaに"search"という関数 or ...
-
String.containsの反対機能はあ...
-
C言語での文字列より値を抜き出す
-
Javaの公式メソッドの中身を見...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Java初級 引数に適用できません
-
String.containsの反対機能はあ...
-
なぜprotected overrideなのか
-
Strutsでチェックボックスの値...
-
Google Apps Script で getRang...
-
abstract と static を一緒に付...
-
C# 点の描き方をおしえてくだ...
-
レコード件数の表示
-
public static void main (Stri...
-
StringBufferからStringへキャ...
-
YYYYMMDD書式の日付に対する適...
-
C# でメソッドに送られてきたOb...
-
シェルスクリプトからのJavaメ...
-
C# の ByVal と ByRef について
-
Fileの読み取り専用の解除
-
CSVから読み込んだデータの保持...
-
メソッドの引数に指定されてい...
-
javaに"search"という関数 or ...
-
Javaのメモリの管理
-
Java初心者です、エラーの意味...
おすすめ情報