Будем писать здесь об успехах изучения Java.
всем привет
вопроса почему так пишут что неправильно
package com.javarush.task.task07.task0707; import java.util.ArrayList; /* Что за список такой? */ public class Solution { public static void main(String[] args) { ArrayList<String> ff = new ArrayList<String>(); ff.set(0,"Первая строка"); ff.set(2,"Вторая строка"); ff.set(3,"Третьястрока"); ff.set(4,"Четвертая строка"); ff.set(5,"Пятая строка"); System.out.println(ff.size()); } }
а так правильно?
package com.javarush.task.task07.task0707; import java.util.ArrayList; /* Что за список такой? */ public class Solution { public static void main(String[] args) { ArrayList<String> list = new ArrayList<>(); list.add("one"); list.add("two"); list.add("three"); list.add("four"); list.add("five"); System.out.println(list.size()); for (String string : list) { System.out.println(string); } } }
NewTesla почему так пишут что неправильно
Потому что после инициализации лист у тебя пустой, а метод set обращается к элементу с указанным индексом, которого нет. Метод add добавляет элемент с указанным значением.
list.add("one"); list.add("two"); list.add("three"); list.add("four"); list.add("five"); //можно обращаться к третьему элементу, ибо он уже есть list.set(2, "three");
itdev Потому что после инициализации лист у тебя пустой, а метод set обращается к элементу с указанным индексом, которого нет. Метод add добавляет элемент с указанным значением.
list.add("one"); list.add("two"); list.add("three"); list.add("four"); list.add("five"); //можно обращаться к третьему элементу, ибо он уже есть list.set(2, "three");
ааа, понято)
спс!!!!!!!
Йа думал здесь буйдет срачь Activity vs Camunda.
А здесь какое то говно апсуждает сбизге.
(458) название ветки не было возможности осилить?
Ели есть вопросы по камунде или хочешь срач по bpm движкам - заводи отдельную ветку
Братва, подскажите плиз
почем он пишет , что переменная rrr не проинициализирована? веть это переменная метода
а строка System.out.println(rrr); находится в методе
package com.javarush.task.task07.task0709; import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.ArrayList; /* Выражаемся покороче */ public class Solution { public static void main(String[] args) throws Exception { ArrayList<String> ff = new ArrayList<String>(); BufferedReader ww = new BufferedReader(new InputStreamReader(System.in)); String str,rrr; int shortstring = 1000; for(int i = 1; i <= 10;i++) { str = ww.readLine(); ff.add(str); if (shortstring > str.length()) { rrr = str; } } System.out.println(rrr); } }
а , понял,в условие не заходит и rrr ниче не присваивается)
отступ то 2 то 4 пробела. "System.out.println(rrr);" отодвинут непонятно зачем.
Ошибка загрузки изображения!
NewTesla все ровно же!
нет
Может, форум так форматирует. Надо скриншоты показывать.
У меня в табеле одни пятерки. Только по чистописанию четверка. Из-за клякс. Я прямо не знаю, что делать! У меня всегда с пера соскакивают кляксы. Я уж макаю в чернила только самый кончик пера, а кляксы все равно соскакивают. Просто чудеса какие-то! Один раз я целую страницу написал чисто-чисто, любо-дорого смотреть — настоящая пятерочная страница. Утром показал ее Раисе Ивановне, а там на самой середине клякса! Откуда она взялась? Вчера ее не было! Может быть, она с какой-нибудь другой страницы просочилась? Не знаю...
А так у меня одни пятерки. Только по пению тройка. Это вот как получилось. Был у нас урок пения. Сначала мы пели все хором "Во поле березонька стояла". Выходило очень красиво, но Борис Сергеевич все время морщился и кричал:
Любовь еще, быть может...
Но Борис Сергеевич поспешно сказал:
— Ну хорошо, хорошо, все это мы обсудим в следующий раз.
И тут раздался звонок.
Мама встретила меня в раздевалке. Когда мы собирались уходить, к нам подошел Борис Сергеевич.
— Ну, — сказал он, улыбаясь, — возможно, ваш мальчик будет Лобачевским, может быть, Менделеевым. Он может стать Суриковым или Кольцовым, я не удивлюсь, если он станет известен стране, как известен товарищ Николай Мамай или какой-нибудь боксер, но в одном могу заверить вас абсолютно твердо: славы Ивана Козловского он не добьется. Никогда!
Мама ужасно покраснела и сказала:
— Ну, это мы еще увидим!
А когда мы шли домой, я все думал:
"Неужели Козловский поет громче меня?"
Курильщик отступ то 2 то 4 пробела. "System.out.println(rrr);" отодвинут непонятно зачем.
Ошибка загрузки изображения!
аа, понял що требуется, спс!
ну это стандарты написания кода?
itdev Может, форум так форматирует. Надо скриншоты показывать.
не, я реал так написал тама, я просто думал что код внутри скобок должен быть)
стандарты бывают разные, важно чтобы они соблюдались.
* всм скобки на одном уровне, а код с отступом , внутри них
itdev Но лично я доволен, что ты фигурные скобки с новой строки ставишь
спс)
itdev Но лично я доволен, что ты фигурные скобки с новой строки ставишь
на разных языках я по разному ставлю, где то с новой, где то в той же (больше нравится), но важно чтобы было одинаково во всем проекте.
NewTesla стандарты написания кода?
Если речь про отступы, то используешь табуляцию для каждого блока. IDE обычно сама их делает, когда это нужно
да у меня для одних проектов 1 tab = 4 пробела а для других 1 tab == 2 пробела
во flutter - 2 пробела и скобка в конце строки
в c# 4 пробела и скобка с новой строки.
вообще надо линтер настраивать на это дело.
Если требуют 2 пробела и фигурные скобки в той же строке, можно и так писать.
Можно даже без Consolas'а работать.
можно
itdev Но лично я доволен, что ты фигурные скобки с но
Не 1c-ник никуя ...
Браззы, объясните пл, почему я опять не могу заюзать Set?
ведть в списке уже есть данные :)
package com.javarush.task.task07.task0711; import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.ArrayList; /* Удалить и вставить */ public class Solution { public static void main(String[] args) throws Exception { ArrayList<String> ff = new ArrayList<String>(); BufferedReader ww = new BufferedReader(new InputStreamReader(System.in)); for(int i = 0; i < 5;i++) { String www = ww.readLine(); ff.add(www); } for(int ii = 0; ii < 13;ii++) { String rr = ff.remove(4); ff.set(0,rr); } for (String string : ff) { System.out.println(string); } } }
NewTesla почему я опять не могу заюзать Set?
Скорее, ты не можешь заюзать remove, который генерирует IndexOutOfBoundsException. В www 5 элементов, а удалить пятый же ты хочешь слишком много раз.
Браззы, я уже слету задачи решаю, сегодня три штуки сделал запросто)
прогресс налицо! УРА!!!!!!!!!!!!!!!!!!!
Зато посмотри как он блюдёт пробелы и выравнивание. Какая-то часть TAB'ов отсутствует, но слишком уж системно, а не вразброс.
Курильщик (487) не факт что не было бы, я если бы такого кода в бааальшом количестве не видел не писал бы.
Бро, ща делаю упор на самом решении заданий, тк они все усложняются, правописание чуть позже, основные моменты, конечно,
соблюсти нужно, но они сами не выравнивают код под фигурные скобки (но я буду. по заданию братьев)
вот, к примеру, их код,
sda553 Не пора ли теслу познакомить с гитхабом?
Он еще не готов
(491) задание норм.
(496) сейчас работа с гитхабом встроена во все ide. Это не как раньше, с командной строки
(499) Куда дел курсы по гитхабу?
itdev Что за IDE у тебя?
Пришлось на время отключить запрет встраивания мультимедиа из-за этой картинки. Ветка очень преобразилась. Не скажу, что в лучшую сторону.
itdev Не скажу, что в лучшую сторону.
мы стараемся
Не юзал такую
крч надо пменять на 32хбитную, или на другую вообще)
Нет смысла менять софт. Лучше железо обновить. Это дешевле содержания автомобиля.
У тебя сколько ОЗУ? Судя по картинкам, у тебя тонкий клиент.
i3 хотя бы 2.5 ГГц с ОЗУ 8 Гб я думаю норм для разработки
NewTesla или это норм?
Времена 64 КБ давно прошли
itdev У тебя сколько ОЗУ? Судя по картинкам, у тебя тонкий клиент.
ну ничего-ничего
Понятно.. работаешь через рдп, в игры не играешь, софт не разрабатываешь..
itdev софт не разрабатываешь..
а вот перед етим предложением поставьте слово "пока"=пока софт не разрабатываешь)
(507) фар используй
Фар.. фар.. это что-то из нулевых? Я думал, это файловый менеджер. Он ещё и IDE?
О, идея. А почему бы не попробовать java development на Visual Code.
fitil край
Была такая гама. Я попробовал поиграть в третью часть, но так и не понял в чём прикол бесцельного блуждания по острову.
(528) 10% кода я пишу в фар. Фар это не ИДЕ но есть удобные вещи для редактирования.
Понятно. Навигация по папкам, редактор, консоль и ещё какие-нить фичи. Такой олдскульный способ. Для изучения вполне норм. Чтобы понимать структуру проекта, использовать утилиты напрямую и т.д., и т.п.
Прикола не понял.
УРА!
Я выполнил задачу по сортировке массива методом пузыркааааааааааааааааа
ееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееее
как же я боялся этого словосочетания "сортировка методом пузырька"
package com.javarush.task.task07.task0728; import java.io.BufferedReader; import java.io.InputStreamReader; /* В убывающем порядке */ public class Solution { public static void main(String[] args) throws Exception { BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); int[] array = new int[20]; for (int i = 0; i < 20; i++) { array[i] = Integer.parseInt(reader.readLine()); } sort(array); for (int x : array) { System.out.println(x); } } public static void sort(int[] ff) { boolean sorted = false; int first,second; while (!sorted) { sorted = true; for(int i = 0; i < ff.length - 1; i++) { if (ff[i] < ff[i+1]) { sorted = false; second = ff[i]; ff[i] = ff[i + 1]; ff[i+1] = second; } } } } }
будем исследовать эти особенности)
(535) Нужно включать их в зону комфорта. Для этого нужна практика.
вот вопрос, кстати
метод override
Для чего юзается? для помощи в выводе объекта Cat (System.out.println(CATS.get(i));)? т.е мы как будто подменяем функцию по дефолту, верно? (код писал не я просьба не обращать внимание на выравнивание)
package com.javarush.task.task07.task0726; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; /* Не компилируется задача про котиков */ public class Solution { public final static ArrayList<Cat> CATS = new ArrayList<>(); public static void main(String[] args) throws IOException { BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); while (true) { String name = reader.readLine(); String age = reader.readLine(); String weight = reader.readLine(); String tailLength = reader.readLine(); if (name == null || name.isEmpty()) { break; } Cat cat = new Cat(name, Integer.parseInt(age), Integer.parseInt(weight), Integer.parseInt(tailLength)); CATS.add(cat); } printList(); } public static void printList() { for (int i = 0; i < CATS.size(); i++) { System.out.println(CATS.get(i)); } } public static class Cat { private String name; private int age; private int weight; private int tailLength; Cat(String name, int age, int weight, int tailLength) { this.name = name; this.age = age; this.weight = weight; this.tailLength = tailLength; } @Override public String toString() { return "Cat's name: " + name + ", age: " + age + ", weight: " + weight + ", tail: " + tailLength; } } }
Поскольку класс Cat наследует от класса java.lang.Object, ему доступен метод toString.
Чтобы понять суть, надо сначала вызвать метод без переопределения.
NewTesla т.е мы как будто подменяем функцию по дефолту
Подменяем функцию родительского класса
itdev Поскольку класс Cat наследует от класса java.lang.Object, ему доступен метод toString.
Чтобы понять суть, надо сначала вызвать метод без переопределения.Подменяем функцию родительского класса
sda553 Верно.
Более того эта функция по дефолту может иногда (в большинстве случаев) вообще отсутствовать. В этом случае делать свой override метод становится не опцией, а обязанностью.
Ок, отлично!
Спс!
(ну я примерно представлял що вернет кат без оверрайд = ссылку на папку где находится, чуть позже проверю когда иде установлю)
webdev вот скажи мне американец
updatePosts(data: any) { //data.id = Math.max(Math.max.apply(Math, this.posts.map(function(o) { return o.id; })), 1) + 1 data.id = Math.max(this.posts.reduce((n, m) => n.id > m.id ? n : m).id, 1) + 1; this.posts.push(data) }
Почему первый вариант заремарил, какой вариант себе оставишь, какой другу предложишь?
Курильщик webdev вот скажи мне американец
updatePosts(data: any) { //data.id = Math.max(Math.max.apply(Math, this.posts.map(function(o) { return o.id; })), 1) + 1 data.id = Math.max(this.posts.reduce((n, m) => n.id > m.id ? n : m).id, 1) + 1; this.posts.push(data) }Почему первый вариант заремарил, какой вариант себе оставишь, какой другу предложишь?
Потому что в первом варианте у тебя какая-то дичь. Во первых, его правильно писать так:
const id = Math.max(...this.posts.map(o => o.id), 1) + 1; this.posts.push({ ...data, id });
Во вторых там содержится два действия, одно из которых получение промежуточного массива, который на самом деле не является целью, а нужен лишь как костыль. Второе действие - это то что задумал программист, то есть получение максимального значения, оно и должно быть без всяких костылей, чтобы легче было читать код и понимать чего там надо было вообще.
Второй вариант - там сразу идет получение того что нужно, поэтому он более правильный. Хотя тоже написан косячно. Правильно так:
const id = this.posts.reduce((n, m) => n > m.id ? n : m.id, 1) + 1; this.posts.push({ ...data, id });
NewTesla , я те сочинил слоган, для поднятия боевого духа: "Джаву знать - херов не сосать!"
Кто нить имел опыт использования s2i от openshit?
Для создания образов?
(546)судя по документации там есть какие то плюшки особенные
4 Задачи за Седни Решил!
Просто окуеть!
УРА!
УРА!
УРА!
УРА!
Всем хеллоу, бро!
вот вопросик
а чем, собсснно, Set отличается от массива?
Set<Integer> ww = new HashSet<>(set); for(Integer dd : ww) { if (dd > 10) { set.remove(dd); } }
Нувытутвселохи.
Я уже заимплементил половину BPM процессов на камундзы. Бизаджи - отстой
Курильщик Это набор данных
О! СПС!
що то нашол
https://ru.stackoverflow.com/questions/561489/Отличие-коллекций-от-массивов
sda553 В массиве есть порядок и возможность доступа к элементу по индексу.
Set это куча, в которой порядка нет, просто все свалено
ОК,СПС)