Advertisement
jaVer404

level14.lesson08.home10

Jun 24th, 2015
471
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.59 KB | None | 0 0
  1. package com.javarush.test.level14.lesson08.home10;
  2.  
  3. import java.util.LinkedList;
  4. import java.util.List;
  5.  
  6. /* Исправить 4 ошибки
  7. Исправить 4 ошибки в конструкторе NotIncapsulatedClass и отрефактори код
  8. 1. В класе NotIncapsulatedClass создать private методы initList, printListValues, processCastedObjects.
  9. 2. Метод initList должен заполнять значениями входящий параметр list:
  10. - найди нужный блок кода в конструкторе, в котором list заполняется значениями
  11. - перенеси его в метод initList
  12. - верни заполненный list.
  13. 3. Метод printListValues должен принимать параметр list и вывести в консоль все элементы из списка list:
  14. - метод ничего не возвращает
  15. - найди нужный блок кода в конструкторе, в котором в цикле из списка list выводятся в консоль все значения
  16. - перенеси его в метод printListValues
  17. - исправь 2 ошибки в этом методе.
  18. 4. Метод processCastedObjects должен проверить:
  19. - входящий параметр имеет тип Number
  20. - метод ничего не возвращает
  21. - найди нужный блок кода в конструкторе, в котором в цикле для каждого объекта из списка list проверяется его тип
  22. - перенеси этот блок в метод processCastedObjects
  23. - исправь 2 ошибки в этом методе
  24. - учти, что для объекта типа Float нужно вывести "Is float value defined? " + [Float_object].isNaN()
  25. - учти, что для объекта типа Double нужно вывести "Is double value infinite? " + [Double_object].isInfinite().
  26. */
  27.  
  28. public class Solution
  29. {
  30.     public static void main(String[] args)
  31.     {
  32.         new NotIncapsulatedClass();
  33.     }
  34.  
  35.     public static class NotIncapsulatedClass
  36.     {
  37.         public NotIncapsulatedClass()
  38.         {
  39.             List<Number> list = new LinkedList<Number>();
  40.             //1
  41.             initList(list);
  42.  
  43.             //2 - Исправь 2 ошибки
  44.             printListValues(list);
  45.  
  46.             //3
  47.             processCastedObjects(list);
  48.  
  49.         }
  50.         private List<Number> initList (List<Number> list) {
  51.             list.add(new Double(1000f));
  52.             list.add(new Double("123e-445632"));
  53.             list.add(new Float(-90 / -3));
  54.             list.remove(new Double("123e-445632"));
  55.             return list;
  56.         }
  57.         private void printListValues (List<Number> list) {
  58.             for (int i = 0; i <list.size(); i++)
  59.             {
  60.                 System.out.println(list.get(i));
  61.             }
  62.         }
  63.         private void processCastedObjects (List<Number> list) {
  64.             for (Number object : list)
  65.             {
  66.                 //Исправь 2 ошибки
  67.                 if (object instanceof Float)
  68.                 {
  69.                     Float a = (Float) object;
  70.                     System.out.println("Is float value defined? " + a.isNaN());
  71.                 } else if (object instanceof Double)
  72.                 {
  73.                     Double a = (Double) object;
  74.                     System.out.println("Is double value infinite? " + a.isInfinite());
  75.                 }
  76.             }
  77.         }
  78.  
  79.     }
  80. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement