package com.javarush.test.level14.lesson08.home10;
import java.util.LinkedList;
import java.util.List;
/* Исправить 4 ошибки
Исправить 4 ошибки в конструкторе NotIncapsulatedClass и отрефактори код
1. В класе NotIncapsulatedClass создать private методы initList(List<Number> list), printListValues, processCastedObjects.
2. Метод initList должен заполнять значениями входящий параметр list:
- найди нужный блок кода в конструкторе, в котором list заполняется значениями
- перенеси его в метод initList
- верни заполненный list.
3. Метод printListValues должен принимать параметр list и вывести в консоль все элементы из списка list:
- метод ничего не возвращает
- найди нужный блок кода в конструкторе, в котором в цикле из списка list выводятся в консоль все значения
- перенеси его в метод printListValues
- исправь 2 ошибки в этом методе.
4. Метод processCastedObjects:
- входящий параметр метода имеет тип List<Number> list
- метод ничего не возвращает
- найди нужный блок кода в конструкторе, в котором в цикле для каждого объекта из списка list проверяется его тип
- перенеси этот блок в метод processCastedObjects
- исправь 2 ошибки в этом методе
- учти, что для объекта типа Float нужно вывести "Is float value defined? " + [Float_object].isNaN()
- учти, что для объекта типа Double нужно вывести "Is double value infinite? " + [Double_object].isInfinite().
*/
public class Solution
{
public static void main(String[] args)
{
new NotIncapsulatedClass(); //обращение к классу / создание класса через new
}
public static class NotIncapsulatedClass
{
public NotIncapsulatedClass()
{
List<Number> list = new LinkedList<Number>();
initList(list);
printListValues(list);
processCastedObjects(list); //обращение к методам
}
private void processCastedObjects(List<Number> list)
{
for (Number object : list)
{
if (object instanceof Float)
{
Float a = (Float) object;
System.out.println("Is float value defined? " + a.isNaN());
} else if (object instanceof Double)
{
Double a = (Double) object;
System.out.println("Is double value infinite? " + a.isInfinite());
}
}
}
private void printListValues(List<Number> list)
{
for (int i = 0; i < list.size(); i++)
{
System.out.println(list.get(i));
}
}
private List<Number> initList(List<Number> list)
{
list.add(new Double(1000f));
list.add(new Double("123e-445632"));
list.add(new Float(-90 / -3));
list.remove(new Double("123e-445632"));
return list;
}
}
}
Leave A Comment