ある会社では社員を4ケタの数字で構成される社員コードで管理しています。この会社の社員は10人でその社員コードと氏名は下表のとおりです。
社員コード | 社員名 |
---|---|
1023 | 宮田 |
1031 | 千葉 |
1033 | 佐藤 |
1040 | 鈴木 |
1051 | 高橋 |
1052 | 田中 |
1058 | 渡辺 |
1059 | 伊藤 |
1061 | 山本 |
1065 | 小林 |
社員コードを入力すると社員名を出力するプログラムを作成してください(線形探索でかまいません)。また該当する社員がいない場合はその旨を表示してください。
- import java.util.*;
- public class StaffSearch {
- public static void main(String args[]) {
- Scanner sc = new Scanner(System.in);
- // 社員表の設定
- int id[] = new int[10];
- String name[] = new String[10];
- id[0] = 1023; name[0] = "宮田";
- id[1] = 1031; name[1] = "千葉";
- id[2] = 1033; name[2] = "佐藤";
- id[3] = 1040; name[3] = "鈴木";
- id[4] = 1051; name[4] = "高橋";
- id[5] = 1052; name[5] = "田中";
- id[6] = 1058; name[6] = "渡辺";
- id[7] = 1059; name[7] = "伊藤";
- id[8] = 1061; name[8] = "山本";
- id[9] = 1065; name[9] = "小林";
- // 検索
- System.out.print("社員コード: ");
- int x = sc.nextInt();
- // ここに社員コードを検索して社員名を出力するような
- // コードを記入してください。
- }
- }
H:\Documents\プログラミングI> javac StaffSearch.java↵ H:\Documents\プログラミングI> java StaffSearch↵ 社員コード: 1040↵ 1040は鈴木さんです H:\Documents\プログラミングI> java StaffSearch↵ 社員コード: 1041↵ 該当する社員はいません H:\Documents\プログラミングI>
この程度のデータなら線形探索で十分ですが,データはIDの昇順に並んでいるので二分探索が使えます。