Advertisement
turt2live

Untitled

Mar 3rd, 2012
199
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.56 KB | None | 0 0
  1. import java.io.BufferedReader;
  2. import java.io.BufferedWriter;
  3. import java.io.DataInputStream;
  4. import java.io.File;
  5. import java.io.FileInputStream;
  6. import java.io.FileReader;
  7. import java.io.FileWriter;
  8. import java.io.InputStreamReader;
  9. import java.util.ArrayList;
  10. import java.util.Arrays;
  11. import java.util.Iterator;
  12. import java.util.Scanner;
  13.  
  14. class Directory implements Comparable<Object> {
  15.     int id;
  16.     String name;
  17.     String address;
  18.     int phoneNo;
  19.  
  20.     public int getId(){
  21.         return id;
  22.     }
  23.  
  24.     public void setId(int id){
  25.         this.id = id;
  26.     }
  27.  
  28.     public String getName(){
  29.         return name;
  30.     }
  31.  
  32.     public void setName(String name){
  33.         this.name = name;
  34.     }
  35.  
  36.     public String getAddress(){
  37.         return address;
  38.     }
  39.  
  40.     public void setAddress(String address){
  41.         this.address = address;
  42.     }
  43.  
  44.     public int getPhoneNo(){
  45.         return phoneNo;
  46.     }
  47.  
  48.     public void setPhoneNo(int phoneNo){
  49.         this.phoneNo = phoneNo;
  50.     }
  51.  
  52.     @Override
  53.     public int compareTo(Object ob) throws ClassCastException{
  54.         if(!(ob instanceof Directory))
  55.             throw new ClassCastException("Error");
  56.         int ide = ((Directory) ob).getId();
  57.         return this.id - ide;
  58.     }
  59. }
  60.  
  61. public class TelephoneDirectory {
  62.  
  63.     public static void main(String[] args) throws Exception{
  64.         Scanner scan = new Scanner(System.in);
  65.         int menu = 0;
  66.         System.out.println("Telephone Directory Management System");
  67.         System.out.println();
  68.         System.out.println("1. Accept Data");
  69.         System.out.println("2. Search");
  70.         System.out.println("3. Sort Data");
  71.         System.out.println("4. List of all persons");
  72.         System.out.println("5. Exit");
  73.         boolean quit = false;
  74.         do{
  75.             System.out.print("Please enter your choice: ");
  76.             menu = scan.nextInt();
  77.             System.out.println();
  78.  
  79.             switch (menu){
  80.             case 1:
  81.                 System.out.print("Enter student ID: ");
  82.                 int ID = scan.nextInt();
  83.                 System.out.print("Enter Name: ");
  84.                 String name = scan.next();
  85.                 System.out.print("Enter Address: ");
  86.                 String address = scan.next();
  87.                 System.out.println("Enter Phone No: ");
  88.                 int no = scan.nextInt();
  89.                 FileWriter fw = new FileWriter(new File("directory.txt"), true);
  90.                 BufferedWriter out = new BufferedWriter(fw);
  91.                 out.write(ID + " " + name + " " + address + " " + no);
  92.                 out.newLine();
  93.                 out.close();
  94.                 break;
  95.             case 2:
  96.                 System.out.print("Enter name to search information: ");
  97.                 String n = scan.next();
  98.                 File f = new File("directory.txt");
  99.                 try{
  100.                     BufferedReader freader = new BufferedReader(new FileReader(
  101.                             f));
  102.                     String s;
  103.                     while ((s = freader.readLine()) != null){
  104.                         String[] st = s.split(" ");
  105.                         @SuppressWarnings ("unused")
  106.                         String id = st[0]; // UNUSED
  107.                         String nm = st[1];
  108.                         String add = st[2];
  109.                         String phoneNo = st[3];
  110.                         if(n.equals(nm)){
  111.                             System.out
  112.                                     .println("***********Information**************");
  113.                             System.out.println("Address : " + add);
  114.                             System.out.println("PhoneNo : " + phoneNo);
  115.                         }
  116.                     }
  117.                     freader.close();
  118.                 }catch(Exception e){}
  119.                 break;
  120.             case 3:
  121.                 File file = new File("directory.txt");
  122.                 FileInputStream fstream = new FileInputStream(file);
  123.                 DataInputStream in = new DataInputStream(fstream);
  124.                 BufferedReader br = new BufferedReader(
  125.                         new InputStreamReader(in));
  126.                 String strLine;
  127.                 ArrayList<String> list = new ArrayList<String>();
  128.                 while ((strLine = br.readLine()) != null){
  129.                     list.add(strLine);
  130.                 }
  131.                 int j = 0;
  132.                 Directory data[] = new Directory[list.size()];
  133.                 try{
  134.                     Iterator<String> itr;
  135.                     for(itr = list.iterator(); itr.hasNext();){
  136.                         String str = itr.next().toString();
  137.                         String[] splitSt = str.split(" ");
  138.                         String id = "", nn = "", add = "", pno = "";
  139.                         for(int i = 0; i < splitSt.length; i++){
  140.                             id = splitSt[0];
  141.                             nn = splitSt[1];
  142.                             add = splitSt[2];
  143.                             pno = splitSt[3];
  144.  
  145.                         }
  146.                         data[j] = new Directory();
  147.                         data[j].setId(Integer.parseInt(id));
  148.                         data[j].setName(nn);
  149.                         data[j].setAddress(add);
  150.                         data[j].setPhoneNo(Integer.parseInt(pno));
  151.  
  152.                         j++;
  153.                     }
  154.  
  155.                     @SuppressWarnings ("unused")
  156.                     BufferedWriter bw = new BufferedWriter(new FileWriter(file,
  157.                             true)); // UNUSED
  158.                     Arrays.sort(data);
  159.                     System.out.println("********Sorted by id********");
  160.                     @SuppressWarnings ("unused")
  161.                     String strVal = ""; // UNUSED
  162.                     for(int i = 0; i < 8; i++){
  163.                         Directory show = data[i];
  164.                         int ide = show.getId();
  165.                         String nnn = show.getName();
  166.                         String add = show.getAddress();
  167.                         int phone = show.getPhoneNo();
  168.                         System.out.println(ide + " " + nnn + " " + add + " "
  169.                                 + phone);
  170.                     }
  171.                 }catch(Exception e){}
  172.                 break;
  173.  
  174.             case 4:
  175.                 FileInputStream fis = new FileInputStream(new File(
  176.                         "directory.txt"));
  177.                 DataInputStream dis = new DataInputStream(fis);
  178.                 BufferedReader reader = new BufferedReader(
  179.                         new InputStreamReader(dis));
  180.                 String st;
  181.                 ArrayList<String> al = new ArrayList<String>();
  182.                 while ((st = reader.readLine()) != null){
  183.                     al.add(st);
  184.                 }
  185.                 Iterator<String> itr;
  186.                 for(itr = al.iterator(); itr.hasNext();){
  187.                     String str = itr.next().toString();
  188.                     String[] splitSt = str.split(" ");
  189.                     String id = "", na = "", ada = "", ph = "";
  190.                     for(int i = 0; i < splitSt.length; i++){
  191.                         id = splitSt[0];
  192.                         na = splitSt[1];
  193.                         ada = splitSt[2];
  194.                         ph = splitSt[3];
  195.                     }
  196.                     System.out.println(id + " " + na + " " + ada + " " + ph);
  197.                 }
  198.                 break;
  199.             case 5:
  200.                 quit = true;
  201.                 break;
  202.             default:
  203.                 System.out.println("Invalid Entry!");
  204.             }
  205.         }while (!quit);
  206.     }
  207. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement