JAVA. ЗАДАЧА 20.10.01. СЕРИАЛИЗАЦИЯ.

package com.javarush.test.level20.lesson10.home01; import java.io.Serializable; /* Минимум изменений Используя минимум изменений кода сделайте так, чтобы сериализация класса C стала возможной. */ public class Solution { public class A implements Serializable { String name = "A"; public A(String name) { this.name += name; } @Override public String toString() { return name; } } public class B extends [...]

By | Январь 18th, 2017|Categories: Уровень 20|Tags: |0 Comments

JAVA. ЗАДАЧА 20.07.04. SERIALIZABLE. TRANSIENT. ASSERT.

package com.javarush.test.level20.lesson07.task04; import java.io.*; import java.text.SimpleDateFormat; import java.util.Date; /* Serializable Solution Сериализуйте класс Solution. Подумайте, какие поля не нужно сериализовать, пометить ненужные поля — transient. Объект всегда должен содержать актуальные итоговые данные. Метод main не участвует в тестировании. Написать код проверки самостоятельно в методе main: 1) создать файл, открыть поток на чтение (input stream) и [...]

By | Январь 15th, 2017|Categories: Уровень 20|Tags: , , |0 Comments

JAVA. ЗАДАЧА 20.07.03. EXTERNALIZABLE.

package com.javarush.test.level20.lesson07.task03; import java.io.*; import java.util.ArrayList; import java.util.List; /* Externalizable Person Класс Person должен сериализоваться с помощью интерфейса Externalizable. Подумайте, какие поля не нужно сериализовать. Исправьте ошибку сериализации. Сигнатуры методов менять нельзя. */ public class Solution { public static void main(String[] args) throws IOException, ClassNotFoundException { ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("20-07-03.txt")); Person person = [...]

By | Январь 14th, 2017|Categories: Уровень 20|Tags: , |0 Comments

JAVA. ЗАДАЧА 20.07.02. EXTERNALIZABLE.

МЕТОД MAIN НАПИСАЛ ДЛЯ ТЕСТА. package com.javarush.test.level20.lesson07.task02; import java.io.*; /* OutputToConsole Класс OutputToConsole должен сериализоваться с помощью интерфейса Externalizable. Подумайте, какие поля не нужно сериализовать. Исправьте ошибку. Сигнатуры методов менять нельзя. */ public class Solution { public static void main(String[] args) throws IOException, ClassNotFoundException { ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("temp.ser")); OutputToConsole ootc = new [...]

By | Январь 13th, 2017|Categories: Уровень 20|Tags: , |0 Comments

JAVA. ЗАДАЧА 20.07.01. EXTERNALIZABLE.

package com.javarush.test.level20.lesson07.task01; import java.io.Externalizable; import java.io.IOException; import java.io.ObjectInput; import java.io.ObjectOutput; /* Externalizable для апартаментов Реализуйте интерфейс Externalizable для класса Apartment Подумайте, какие поля не нужно сериализовать. */ public class Solution { public static class Apartment implements Externalizable { private String address; private int year; /** * Mandatory public no-arg constructor. */ public Apartment() { super(); [...]

By | Январь 12th, 2017|Categories: Уровень 20|Tags: |0 Comments

JAVA. ЗАДАЧА 20.10.01+. ЧИСЛА АРМСТРОНГА.

ВАРИАНТ, КОТОРЫЙ Я СПИСАЛ: package com.javarush.test.level20.lesson10.bonus01; import java.util.ArrayList; import java.util.Arrays; import java.util.List; /* Алгоритмы-числа Число S состоит из M чисел, например, S=370 и M(количество цифр)=3 Реализовать логику метода getNumbers, который должен среди натуральных чисел меньше N (long) находить все числа, удовлетворяющие следующему критерию: число S равно сумме его цифр, возведенных в M степень getNumbers должен [...]

By | Январь 12th, 2017|Categories: Уровень 20|Tags: |0 Comments

JAVA. ЛЕКЦИЯ. 19.07. READER — ОБЁРТКА SYSTEM.OUT.

public static void main(String[] args) throws Exception { //запоминаем настоящий PrintStream в специальную переменную PrintStream consoleStream = System.out; //Создаем динамический массив ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); //создаем адаптер к классу PrintStream PrintStream stream = new PrintStream(outputStream); //Устанавливаем его как текущий System.out System.setOut(stream); //Вызываем функцию, которая ничего не знает о наших манипуляциях printSomething(); //Преобразовываем записанные в [...]

By | Январь 8th, 2017|Categories: Лекции, Уровень 19|Tags: , |0 Comments

JAVA. ЛЕКЦИЯ. 19.04. FILEWRITER/FILEREADER.

public static void main(String[] args) throws Exception { FileReader reader = new FileReader("c:/data.txt"); FileWriter writer = new FileWriter("c:/result.txt"); while (reader.ready()) //пока есть непрочитанные байты в потоке ввода { int data = reader.read(); //читаем один символ (char будет расширен до int) writer.write(data); //пишем один символ (int будет обрезан/сужен до char) } //закрываем потоки после использования reader.close(); [...]

By | Январь 8th, 2017|Categories: Лекции, Уровень 19|Tags: , |0 Comments

JAVA. ЛЕКЦИЯ. 19.02. READER/WRITER.

Код Описание int read(char[] cbuf); - метод сразу читает много символов в буфер (массив символов), пока буфер не заполнится или не закончатся символы там, откуда он их читает. Метод возвращает количество реально прочитанных символов (оно может быть меньше длины массива) int read(); - метод читает один символ и возвращает его как результат. Результат расширяется до int, для красоты. Если доступных символов нет, [...]

By | Январь 8th, 2017|Categories: Лекции, Уровень 19|Tags: , |0 Comments

JAVA. ЛЕКЦИЯ 19.01. АДАПТЕРЫ.

Это схематическое описание «паттерна проектирования адаптер». Суть его в том, что класс MyClass является преобразователем (адаптером) одного интерфейса к другому. class MyClass implements Interface2 { private Interface1 object; MyClass(Interface1 object) { this.object = object; } // тут располагаются методы Interface2, // которые вызывают методы Interface1 } Код из первого(Alpha) фреймворка. AlphaList – это один из интерфейсов, [...]

By | Январь 8th, 2017|Categories: Лекции, Уровень 19|Tags: |0 Comments