Advertisement
jaVer404

level19.lesson03.task04(done)

Feb 17th, 2016
239
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.18 KB | None | 0 0
  1. package com.javarush.test.level19.lesson03.task04;
  2.  
  3. import java.io.IOException;
  4. import java.util.*;
  5.  
  6. /* И еще один адаптер
  7. Адаптировать Scanner к PersonScanner.
  8. Классом-адаптером является PersonScannerAdapter.
  9.  
  10. Данные в файле хранятся в следующем виде:
  11. Иванов Иван Иванович 31 12 1950
  12.  
  13. В файле хранится большое количество людей,
  14. данные одного человека находятся в одной строке.
  15.  
  16. Метод read() должен читать данные одного человека.
  17. */
  18.  
  19. public class Solution {
  20.  
  21.  
  22.     public static class PersonScannerAdapter implements PersonScanner {
  23.  
  24.         private Scanner scanner;
  25.  
  26.         public PersonScannerAdapter(Scanner scanner)
  27.         {
  28.             this.scanner = scanner;
  29.         }
  30.  
  31.         @Override
  32.         public Person read() throws IOException
  33.         {
  34.             String line = scanner.nextLine();/*Иванов Иван Иванович 31 12 1950*/
  35.             String[] splitStr = line.split("\\s+");
  36.             String firstName = splitStr[1];
  37.             String middleName = splitStr[2];
  38.             String lastName = splitStr[0];
  39.             Date birthDate=null;
  40.             try
  41.             {
  42.                 int day = Integer.parseInt(splitStr[3]);
  43.                 int month = (Integer.parseInt(splitStr[4]))-1;
  44.                 int year = Integer.parseInt(splitStr[5]);
  45.                 birthDate = (new GregorianCalendar(year,month,day).getTime());
  46.  
  47.             }
  48.             catch (Exception e)
  49.             {
  50.             }
  51.             return new Person(firstName, middleName, lastName,birthDate);
  52.         }
  53.  
  54.         @Override
  55.         public void close() throws IOException
  56.         {
  57.             scanner.close();
  58.         }
  59.     }
  60. /*    public static void main(String[] args) throws IOException
  61.     {
  62.         Scanner scanner = new Scanner("Иванов Иван Иванович 17 02 2016");
  63.         PersonScanner personScanner = new PersonScannerAdapter(scanner);
  64.         System.out.println((personScanner.read()).toString());
  65.  
  66.     }*/
  67. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement