2012-03-29 10 views
4

私は、電話料金請求システムは、電話番号、コールの日付とコールの長さと呼ばれる入力を取るようにしました。それをテキストファイルに保存します。私ができなかったことは、電話番号のテキストファイルを検索することです。ここでJavaでテキストファイルを検索

My coding

+0

とはどこですか? –

+1

ファイルを読むことができるようです。こうすることで、呼び出しオブジェクトのリストを作成し、電話番号のマップに呼び出しの一覧に入れることができます。次に、地図を検索/検索して番号を探します。 – Thomas

答えて

4

リニアサーチ(お使いの携帯電話のリストを反復処理)を行うだけで:読みやすくするためにも

public static List<Phone> searchPhone(final String phoneNumber, final List<Phone> phoneList) { 
    List<Phone> matchedPhone = new ArrayList<Phone>(); 

    for(Phone phone: phoneList) { 
     if (phone.getphoneNumber().equals(phoneNumber)) { 
      matchedPhone.add(phone); 
     } 
    } 

    return matchedPhone; 
} 

を、出力としてご使用方法パラメータをすることはありません。そのよくない習慣、あなたからあなたの方法を変更する必要がありますので:

static void readList(List<Phone> phoneListIn) { 
} 

へ:あなたは

+0

(電話機、phoneList); ';'という行にはエラーがあります。期待される。それはすでにそれを持っていますが。 –

+0

私はforeachループ(これはQt sytanxです)に異なる構文を使用しています。私は今、foreachループまたは通常のループを使用することができます。 for(int i = 0; i

2

その後Collections.sort(List list);

を実行できるよう

static List<Phone> readList(final String fileName) { 
    } 

出力引数は、可能な限り避けるべきですperform Collections.binarySearch(List list, Object key).これは効率的に検索を達成するはずです。

関連する問題