• 6.78

  • +28.78

Дружим Silverlight с GNU/Linux

Для работы с JavaRush необходим плагин Silverlight, что затрудняет работу с сервисом пользователям GNU/Linux. Эту проблему призван решить Pipelight. По факту, Pipelight — это оболочка для различных браузерных плагинов, таких, как Adobe Flash, Unity3D, интересующий нас Silverlight и прочие, которая позволяет запускать вышеуказанные плагины в нативных браузерах под Linux. О том, как установить Pipelight читайте под катом.

Клуб взимопомощи НСНД

Клуб взимопомощи НСНД
(«Научился Сам — Научи Другого»)
Группа в вконтакте: vk.com/javaclubnsnd
Топик в группе javarush.ru в vk.com: vk.com/topic-43948962_30169733

Друзья! Все мы здесь об»единены общей целью — изучением Java. Вопросов и непонятных моментов возникает уйма, а поиск ответов на них занимает много времени, особенно занимаясь самостоятельно, без преподавателя. А хотелось бы чтобы обучение проходило как можно быстрее.
Хотелось бы иметь своего «персонального» Наставника, к которому можно обращаться по любому вопросу любое количество раз, и который будет помогать и об»яснять с радостью и бесплатно именно мне!
Если так, то вступайте в Клуб взимопомощи НСНД. И тогда наше продвижение вперед в изучении Java пойдет так быстро что НаСНеДогонят!

Смысл в следующем — каждый Участник Клуба имеет Права и Обязанности:

1. Права — получает в качестве Наставника другого Участника Клуба, имеющего больше знаний и прошедшего как минимум на несколько уровней дальше, который и будет об»яснять всё что знает сам именно мне, вникая во все мои Java-проблемы. Выгода — очевидна!

2. Обязанности — становится Наставником для двух других Участников Клуба, имеющих меньшие знания, находящихся на несколько уровней ниже. Выгода — как говорится «Лучший способ понять что-нибудь самому — это попытаться об»яснить это другому». Ну и пункт 1 разумеется.

Присоединяйтесь!

P.S. Полагаю внизу пирамиды проблем возникнуть не должно, разве что при очень большом количестве новичков возможно иногда будет возникать очередь на получение Наставника.
А вверху будем надеяться что найдется кто-то, очень-очень сильный доброволец, который возглавит нашу группу, ведь многие и так помогают на форуме info.javarush.ru. И это будет не менее почетно, чем находиться вверху Рейтинга javarush.ru/rating. А может даже и кто из организаторов Проекта javarush.ru …

Преобразование ссылочных типов, или спящий волк на клавиатуре

Доброго времени суток, джаварашовец. Начали мне поступать вопросы о приведение ссылочных типов в Java. Что бы каждый раз не пересказывать одно и то же, решил написать маленькую статью.
  • ,

level19.lesson08.task01

читаю условие

/* Ридер обертка
В методе main подмените объект System.out написанной вами ридер-оберткой по аналогии с лекцией
Ваша ридер-обертка должна преобразовывать весь текст в заглавные буквы
Вызовите готовый метод printSomething(), воспользуйтесь testString
Верните переменной System.out первоначальный поток.
*/

уже который раз и никак не пойму, почему называем

stream = new PrintStream(new ByteArrayOutputStream)

ридер-оберткой. Ведь PrintStream не соответствует Wrapper-шаблону для Reader. Это ведь просто наследник OutputStream.

какоето запутанное условие…
  • ,

level23.lesson13.big01;

package com.javarush.test.level23.lesson13.big01;

import java.util.ArrayList;

/*
  Задание 7
 "Кусочки змеи" мы описали, теперь займемся самой змеей.
 У змеи должен быть список кусочков(SnakeSection) и голова.
 Пусть головой будет просто самый первый кусочек (с номером 0).

 У змеи также есть направление движения - сторона куда она движется по умолчанию.
 А еще есть состояние - жива змея или мертва.
 Игра заканчивается тогда, когда змея мертва.
 Надо:
 а) Добавить в класс Snake переменную sections типа ArrayList<SnakeSection>.
 б) Добавить переменную isAlive логического типа.
 в) Добавить переменную direction типа SnakeSection.
 г) Для всех них добавить getter'ы, а для direction еще и setter.
 Примечание:
 Для булевских переменных геттер принято писать не как getValue(), а как isValue() - это улучшает читабельность кода.

 */

public class Snake
{
    public static ArrayList<SnakeSection> sections = new ArrayList<>();
    public boolean isAlive;
    public SnakeSection direction;

    public static ArrayList<SnakeSection> getSections()
    {
        return sections;
    }

    public boolean isAlive()
    {
        return isAlive;
    }

    public SnakeSection getDirection()
    {
        return direction;
    }

    public void setDirection(SnakeSection direction)
    {
        this.direction = direction;
    }
}


Не проходит тест.
В чем косяк?

level20.lesson10.bonus04

/* Свой список
Посмотреть, как реализован LinkedList.
Элементы следуют так: 1->2->3->4  и так 4->3->2->1
По образу и подобию создать Solution.
Элементы должны следовать так:
1->3->7->15
    ->8...
 ->4->9
    ->10
2->5->11
    ->12
 ->6->13
    ->14
Во внутренней реализации элементы должны добавляться по 2 на каждый уровень
Метод getParent должен возвращать элемент, который на него ссылается.
Например, 3 ссылается на 7 и на 8, т.е.  getParent("8")=="3", а getParent("13")=="6"
Строки могут быть любыми.
При удалении элемента должна удаляться вся ветка. Например, list.remove("5") должен удалить "5", "11", "12"
Итерироваться элементы должны в порядке добавления
Доступ по индексу запрещен, воспользуйтесь при необходимости UnsupportedOperationException
Должно быть наследование AbstractList<String>, List<String>, Cloneable, Serializable
Метод main в тестировании не участвует
*/
  • ,

level23.lesson06.task02;

/* Рефакторинг
Отрефакторите класс Solution: вынесите все константы в public вложенный(nested) класс Constants.
Запретите наследоваться от Constants.
*/

Имеется ввиду все строки, использованные в программе?
Ответ: Да. Используйте правила именования констант в джаве
  • ,

level22.lesson18.big01

На 7 задании необходимо реализовывать методы? без реализации не проходит, с реализацией пока тоже.
Нам понадобится еще 4 метда в классе Field:
а) print() — объект будет отрисовывать на экран свое текущее состояние;
б) removeFullLines() — будет удалять из матрицы полностью заполненные строки и сдвигать вышележащие строки вниз;
в) int getValue(int x, int y) — возвращает значение которое находится в матрице с координатами x и y;
г) void setValue(int x, int y, int value) — устанавливает переданное значение в ячейку массива (матрицы) с координатами x, y.
  • ,

level17.lesson10.home07

package com.javarush.test.level17.lesson10.home07;

import java.util.HashMap;
import java.util.Map;

/* ApplicationContext
ApplicationContext будет доступен множеству нитей.
Сделать так, чтобы данные не терялись: подумай, какое ключевое слово необходимо поставить и где.
*/

public abstract class ApplicationContext<GenericsBean extends Bean> {
    private Map<String, GenericsBean> container = new HashMap<String, GenericsBean>();
    //Map<Name, some class implemented Bean interface>


    protected ApplicationContext() {
        parseAllClassesAndInterfaces();
    }

    public GenericsBean getByName(String name) {
          return container.get(name);
    }

    public GenericsBean removeByName(String name) {
        return container.remove(name);
    }

    protected abstract void parseAllClassesAndInterfaces();
}


package com.javarush.test.level17.lesson10.home07;

public interface Bean {   //это интерфейс-маркер
}


Я думаю, что необходимо поставит ключевое слово volitale у Map'a. Но при этом постоянно возникает ошибка «Произошла ошибка во время работы программы». Люди, у кого эта задача зачлась, помогайте плиз )

level16.lesson13.home02

кто сделал задание подскажите
похоже нужна какая то другая реализация?

/* Последовательные выполнения нитей
1. В методе run после всех действий поставь задержку в 10 миллисекунд. Выведи «Нить прервана», если нить будет прервана.
2. Сделай так, чтобы все нити выполнялись последовательно: сначала для нити №1 отсчет с COUNT до 1, потом для нити №2 с COUNT до 1 и т.д.
Пример:
#1: 4
#1: 3

#1: 1
#2: 4

*/