Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Java Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 45 46 47 48 49 [50] 51 52 53 54 .. 59   вперед  Ctrl
 Re: Где взять опыт?)  [new]
asv79
Member

Откуда: Тверь
Сообщений: 824
Mike7

Или таки платные курсы с последующим трудоустройством. Но как надежно отличить лохотрон от чего-то более-менее реального не знаю.

вот я и поступаю на бесплатные курсы с последующим трудоустройством.
ковырять опенсорсы без каких либо наставников,которые помогут когда нужно подсказать что где,ну бессмысленное задание.
мне вон дали код посмотреть тут на форуме люди- а он на спринге, который я только на картинках видел
14 май 19, 12:59    [21884318]     Ответить | Цитировать Сообщить модератору
 Re: Где взять опыт?)  [new]
asv79
Member

Откуда: Тверь
Сообщений: 824
[quot asv79]
майтон ты предлагал создать черные фигуры по шаблону от белых,а как это сделать
у меня есть список белых фигур ,находятся они в листе
я беру этот лист и копирую ,далее меняю позиции ,сетаю новые имена и новый цвет
но ведь мы не создаем же новые объекты ,а просто копируем ссылки ,в результате любое изменение отражается тут же и и на листе с белыми фигурами
тоесть объектов то как было 16 так и будет,их как то склонировать чтоли надо или как?
14 май 19, 13:15    [21884337]     Ответить | Цитировать Сообщить модератору
 Re: Где взять опыт?)  [new]
mayton
Member

Откуда: loopback
Сообщений: 40520
asv79
майтон ты предлагал создать черные фигуры по шаблону от белых,а как это сделать
у меня есть список белых фигур ,находятся они в листе
я беру этот лист и копирую ,далее меняю позиции ,сетаю новые имена и новый цвет
но ведь мы не создаем же новые объекты ,а просто копируем ссылки ,в результате любое изменение отражается тут же и и на листе с белыми фигурами
тоесть объектов то как было 16 так и будет,их как то склонировать чтоли надо или как?

Я предлагал взять их координаты и тип фигуры. Остальное - зеркально отразить.
Мне кажется - лаба для 1 курса универа.
14 май 19, 13:31    [21884363]     Ответить | Цитировать Сообщить модератору
 Re: Где взять опыт?)  [new]
asv79
Member

Откуда: Тверь
Сообщений: 824
mayton
asv79
майтон ты предлагал создать черные фигуры по шаблону от белых,а как это сделать
у меня есть список белых фигур ,находятся они в листе
я беру этот лист и копирую ,далее меняю позиции ,сетаю новые имена и новый цвет
но ведь мы не создаем же новые объекты ,а просто копируем ссылки ,в результате любое изменение отражается тут же и и на листе с белыми фигурами
тоесть объектов то как было 16 так и будет,их как то склонировать чтоли надо или как?

Я предлагал взять их координаты и тип фигуры. Остальное - зеркально отразить.
Мне кажется - лаба для 1 курса универа.

ну я отразил зеркально ,с этим нет проблем,но это же javа,там где ты их зеркально отразил лишь ссылки на те отраженные объекты,а не сами обьъекты.
тоесть мне нужно все равно вручную создавать все эти 16 черных фигур как не крути через фабрику или оператор new
поэтому я немного не допонимаю что ты имел ввиду

 List<Figure> list1=new ArrayList<>(list); //лист белых фигур ,копируем в лист черных
        list.forEach(field::addFigure);          //добаляем их на поле белые фигуры




            for (Figure f:list1){                  //сетаем имена,позицию и цвет в листе с черным


            f.p.setX(7-f.p.getX());
            f.setName(f.getName()+"B");
            f.setColor("Black");
        }
        list1.forEach(field::addFigure);      /добавляем на поле черные


в итоге получаем все черные) ,так как черных фигур нет,мы взяли ссылки на белые и по ним изменили свойства объекта

так что я не понимаю как ты хочешь коротко создать 16 черных фигур
14 май 19, 13:50    [21884388]     Ответить | Цитировать Сообщить модератору
 Re: Где взять опыт?)  [new]
mayton
Member

Откуда: loopback
Сообщений: 40520
Создавай новые фигуры. На основе координат старых. В помощь там конструктор копирования или твоя фабрика.
Или шаблон прототип. Вобщем сделай максимально просто.

Вообще я тебе щас предлагаю взять курс на упрощение.

А если после изменений строк стало меньше и читабельность сохранилась - то это верный курс.
14 май 19, 13:53    [21884395]     Ответить | Цитировать Сообщить модератору
 Re: Где взять опыт?)  [new]
asv79
Member

Откуда: Тверь
Сообщений: 824
mayton
Создавай новые фигуры. На основе координат старых. В помощь там конструктор копирования или твоя фабрика.
Или шаблон прототип. Вобщем сделай максимально просто.

Вообще я тебе щас предлагаю взять курс на упрощение.

А если после изменений строк стало меньше и читабельность сохранилась - то это верный курс.

Так не получится ,точней создание фигуры это все равно строчка кода и вместо двух цифр х и у я буду передавать ссылку на координату черных+ имя .еще больше кода выйдет.
Единствеено что можно сделать так это пешки циклом ,причем и белые и черные.итого сократим на 10 строчек код.
Так же я из фигур убрал координаты и добавил позицию
14 май 19, 16:07    [21884584]     Ответить | Цитировать Сообщить модератору
 Re: Где взять опыт?)  [new]
mayton
Member

Откуда: loopback
Сообщений: 40520
Ну конечно циклом. Более того. Инициализация пешек тоже цикличная и упрощается до вызова цикла
или челочисленного стрима IntStream.
14 май 19, 16:09    [21884585]     Ответить | Цитировать Сообщить модератору
 Re: Где взять опыт?)  [new]
asv79
Member

Откуда: Тверь
Сообщений: 824
mayton
Ну конечно циклом. Более того. Инициализация пешек тоже цикличная и упрощается до вызова цикла
или челочисленного стрима IntStream.

я еще убрал координаты из фигур и добавил поле Posisition вместо них
14 май 19, 17:59    [21884669]     Ответить | Цитировать Сообщить модератору
 Re: Где взять опыт?)  [new]
mayton
Member

Откуда: loopback
Сообщений: 40520
Да да. Видел. Одобряю.
14 май 19, 18:37    [21884702]     Ответить | Цитировать Сообщить модератору
 Re: Где взять опыт?)  [new]
asv79
Member

Откуда: Тверь
Сообщений: 824
mayton
Ну конечно циклом. Более того. Инициализация пешек тоже цикличная и упрощается до вызова цикла
или челочисленного стрима IntStream.

не получается циклом,нельзя видимо этой фабрикой и циклом работать вместе
for (int i = 0; i <8 ; i++) {
           list.add(FigureFactory.getInstance().createFigure(FigureList.PAWN, "pawn"+i, new Position(6, i), "White"));
           list.add(FigureFactory.getInstance().createFigure(FigureList.PAWN, "pawn"+i+"B", new Position(1, 7-i), "Black"));

        }


Получаю Exeption
14 май 19, 18:38    [21884703]     Ответить | Цитировать Сообщить модератору
 Re: Где взять опыт?)  [new]
asv79
Member

Откуда: Тверь
Сообщений: 824
сам спросил,сам нашел,Arrays.aslist возвращает лист фиксированной длинны .
они там в java чего курили интересно ,сами себе противоречат
сначала - массивы это хорошо,но нас достал фиксированый размер,ммм давайте сделаем Лист безразмерный
проходит год - а давайте сделаем метод ,который лист сделает фиксированного размере?-давайте лист превратим обратно в массив
14 май 19, 18:51    [21884717]     Ответить | Цитировать Сообщить модератору
 Re: Где взять опыт?)  [new]
mayton
Member

Откуда: loopback
Сообщений: 40520
asv79,

а ты монимаешь разницу между массивом и листом? Это кстати вопрос-киллер для некоторых на собесе.
14 май 19, 19:02    [21884727]     Ответить | Цитировать Сообщить модератору
 Re: Где взять опыт?)  [new]
asv79
Member

Откуда: Тверь
Сообщений: 824
mayton
asv79,

а ты монимаешь разницу между массивом и листом? Это кстати вопрос-киллер для некоторых на собесе.

Это по сути одно и тоже,только размер массива фиксирован ,а листа динамичен.это касается имеенo arraylist.
Поэтому я не понял юмора товарищей из оракл ,котрые дарят нам лист фиксированного размера.
Это как изобрести самолет и дать ему возможность летать,а потом убрать ее и заставить чертить крыльями по асфальту
14 май 19, 19:58    [21884755]     Ответить | Цитировать Сообщить модератору
 Re: Где взять опыт?)  [new]
mayton
Member

Откуда: loopback
Сообщений: 40520
asv79
mayton
asv79,

а ты монимаешь разницу между массивом и листом? Это кстати вопрос-киллер для некоторых на собесе.

Это по сути одно и тоже,только размер массива фиксирован ,а листа динамичен.это касается имеенo arraylist.
Поэтому я не понял юмора товарищей из оракл ,котрые дарят нам лист фиксированного размера.
Это как изобрести самолет и дать ему возможность летать,а потом убрать ее и заставить чертить крыльями по асфальту

Не взболтни такое на собеседованиях. У них большая архитектурная разница. Сильнее чем в С++ к примеру.

В качестве примера тебя могут спросить как внутри будет хранится информация
в таких кейсах.

int[] intArray = ...
List<Integer> listOfIntegers = ....


Как будет расширятся. И тому подобное. Как работают дженерики. Сколько байтов (приблизительно)
будет занимать в памяти проивзольный объект враппер.

По коллекциям самый убойный вопрос будет как всегда про HashMap, TreeMap поэтому читай заранее. Компаратор.

Ну и мультипоточность - это вообще похоронный колокол по всем джунам.
14 май 19, 20:09    [21884761]     Ответить | Цитировать Сообщить модератору
 Re: Где взять опыт?)  [new]
asv79
Member

Откуда: Тверь
Сообщений: 824
mayton,
да знаю я это все и то что Аррей лист по факту является массивом,о чем во всех школах программирования твердят.
и на собесе 100 раз это спрашивали)
вот линкед лист это уже совсем другое дело.
даже всеми любимый javarush так же учит.
ладно это не суть ,вот смотри как уменьшил код

  public static void main(String[] args) {
        Field field = Field.getInstance();
        List<Figure>  list = new ArrayList<>(Arrays.asList(
                FigureFactory.getInstance().createFigure(FigureList.KING, "king", new Position(7,3), "White"),
                FigureFactory.getInstance().createFigure(FigureList.QUEEN, "queen", new Position(7, 4), "White"),
                FigureFactory.getInstance().createFigure(FigureList.KNIGHT, "knightLeft", new Position(7, 1), "White"),
                FigureFactory.getInstance().createFigure(FigureList.KNIGHT, "knigtRight", new Position(7, 6), "White"),
                FigureFactory.getInstance().createFigure(FigureList.BISHOP, "bishopLeft", new Position(7, 2), "White"),
                FigureFactory.getInstance().createFigure(FigureList.BISHOP, "bishopRight", new Position(7, 5), "White"),
                FigureFactory.getInstance().createFigure(FigureList.ROOK, "rookLeft", new Position(7, 0), "White"),
                FigureFactory.getInstance().createFigure(FigureList.ROOK, "rookRight", new Position(7, 7), "White"),
                FigureFactory.getInstance().createFigure(FigureList.KING, "kingB", new Position(0, 3), "Black"),
                FigureFactory.getInstance().createFigure(FigureList.QUEEN, "queenB", new Position(0, 4), "Black"),
                FigureFactory.getInstance().createFigure(FigureList.KNIGHT, "knightLeftB", new Position(0, 6), "Black"),
                FigureFactory.getInstance().createFigure(FigureList.KNIGHT, "knigtRightB", new Position(0, 1), "Black"),
                FigureFactory.getInstance().createFigure(FigureList.BISHOP, "bishopLeftB", new Position(0, 5), "Black"),
                FigureFactory.getInstance().createFigure(FigureList.BISHOP, "bishopRightB", new Position(0, 2), "Black"),
                FigureFactory.getInstance().createFigure(FigureList.ROOK, "rookLeftB", new Position(0, 7), "Black"),
                FigureFactory.getInstance().createFigure(FigureList.ROOK, "rookRightB", new Position(0, 0), "Black")));
        for (int i = 0; i <8 ; i++) {
           list.add(FigureFactory.getInstance().createFigure(FigureList.PAWN, ("pawn"+i), new Position(6, i), "White"));
           list.add(FigureFactory.getInstance().createFigure(FigureList.PAWN, ("pawn"+i+"B"), new Position(1, 7-i), "Black"));
        }

        list.forEach(field::addFigure);
14 май 19, 20:54    [21884777]     Ответить | Цитировать Сообщить модератору
 Re: Где взять опыт?)  [new]
mayton
Member

Откуда: loopback
Сообщений: 40520
asv79, ну давай наспор. Я уменьшу его в 3-4 раза. По строкам. При этом читаемость и смысл сохраню.
14 май 19, 20:58    [21884779]     Ответить | Цитировать Сообщить модератору
 Re: Где взять опыт?)  [new]
asv79
Member

Откуда: Тверь
Сообщений: 824
mayton
asv79, ну давай наспор. Я уменьшу его в 3-4 раза. По строкам. При этом читаемость и смысл сохраню.

сколько при этом новых методов напишешь?штук 5?))
давай посмотрим ,что ты задумал)
14 май 19, 21:26    [21884799]     Ответить | Цитировать Сообщить модератору
 Re: Где взять опыт?)  [new]
mayton
Member

Откуда: loopback
Сообщений: 40520
asv79
mayton
asv79, ну давай наспор. Я уменьшу его в 3-4 раза. По строкам. При этом читаемость и смысл сохраню.

сколько при этом новых методов напишешь?штук 5?))
давай посмотрим ,что ты задумал)

Ты всё закоммитил?
14 май 19, 21:30    [21884801]     Ответить | Цитировать Сообщить модератору
 Re: Где взять опыт?)  [new]
asv79
Member

Откуда: Тверь
Сообщений: 824
mayton
asv79
пропущено...

сколько при этом новых методов напишешь?штук 5?))
давай посмотрим ,что ты задумал)

Ты всё закоммитил?

нет я тот репозиторий вообще не трогаю,хочу чтоб он оставался не тронутым
я думаю может можно с idei как то новый репозиторий на гитхабе создать и пушить туда?
14 май 19, 21:48    [21884804]     Ответить | Цитировать Сообщить модератору
 Re: Где взять опыт?)  [new]
mayton
Member

Откуда: loopback
Сообщений: 40520
Можно. Можно еще один реп создать. Можно бранч в основном. Можно просто патчами через почту обмениваться как Торвальдс.
14 май 19, 21:55    [21884808]     Ответить | Цитировать Сообщить модератору
 Re: Где взять опыт?)  [new]
asv79
Member

Откуда: Тверь
Сообщений: 824
mayton
Можно. Можно еще один реп создать. Можно бранч в основном. Можно просто патчами через почту обмениваться как Торвальдс.

я создал на гитхабе еще 1 репозиторий ,как теперь идею заставить пушить туда,а не в старый реп
14 май 19, 22:02    [21884810]     Ответить | Цитировать Сообщить модератору
 Re: Где взять опыт?)  [new]
mayton
Member

Откуда: loopback
Сообщений: 40520
Я не буду делать имплементацию. Я дам тебе макет. А ты подумай.


    private static List<Figure> initRowDesk(int row, String chessNotationRow) {
        // TODO:
        return Collections.EMPTY_LIST;
    }

    public static void main(String[] args) {
        Field field = Field.getInstance();

        List<Figure> list = new ArrayList<>();
        list.addAll(initRowDesk(0, "RKBQkBKR", ChessColor.WHITE));
        list.addAll(initRowDesk(1, "PPPPPPPP", ChessColor.WHITE));
        list.addAll(initRowDesk(6, "PPPPPPPP", ChessColor.BLACK));
        list.addAll(initRowDesk(7, "RKBQkBKR", ChessColor.BLACK));
14 май 19, 22:03    [21884813]     Ответить | Цитировать Сообщить модератору
 Re: Где взять опыт?)  [new]
mayton
Member

Откуда: loopback
Сообщений: 40520
asv79
mayton
Можно. Можно еще один реп создать. Можно бранч в основном. Можно просто патчами через почту обмениваться как Торвальдс.

я создал на гитхабе еще 1 репозиторий ,как теперь идею заставить пушить туда,а не в старый реп

Никак. Идея о нем никогда не узнает. Это новый независимый проект и надо делать
git clone ... и открывать его отдельно.
14 май 19, 22:05    [21884815]     Ответить | Цитировать Сообщить модератору
 Re: Где взять опыт?)  [new]
asv79
Member

Откуда: Тверь
Сообщений: 824
mayton
Я не буду делать имплементацию. Я дам тебе макет. А ты подумай.


    private static List<Figure> initRowDesk(int row, String chessNotationRow) {
        // TODO:
        return Collections.EMPTY_LIST;
    }

    public static void main(String[] args) {
        Field field = Field.getInstance();

        List<Figure> list = new ArrayList<>();
        list.addAll(initRowDesk(0, "RKBQkBKR", ChessColor.WHITE));
        list.addAll(initRowDesk(1, "PPPPPPPP", ChessColor.WHITE));
        list.addAll(initRowDesk(6, "PPPPPPPP", ChessColor.BLACK));
        list.addAll(initRowDesk(7, "RKBQkBKR", ChessColor.BLACK));

теже яйца ,виду сбоку+ количество кода больше в два раза
list.addAll(initRowDesk(1, "PPPPPPPP", ChessColor.WHITE));
list.addAll(initRowDesk(6, "PPPPPPPP", ChessColor.BLACK)); вот это уже дубляж ,который добавляет зачем то 2 лишних строчки кода ,при том что пешки дабавляются одним циклом фор,который ты все равно будешь писать в методе ,где эти пешки физически создаются
14 май 19, 22:16    [21884820]     Ответить | Цитировать Сообщить модератору
 Re: Где взять опыт?)  [new]
asv79
Member

Откуда: Тверь
Сообщений: 824
mayton
asv79
пропущено...

я создал на гитхабе еще 1 репозиторий ,как теперь идею заставить пушить туда,а не в старый реп

Никак. Идея о нем никогда не узнает. Это новый независимый проект и надо делать
git clone ... и открывать его отдельно.

создал новый реп-склонировал туда старый,теперь можно старый ломать как хочешь -верно?
14 май 19, 22:21    [21884826]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 45 46 47 48 49 [50] 51 52 53 54 .. 59   вперед  Ctrl
Все форумы / Java Ответить