У программы настолько дружелюбный интерфейс, что когда я пытался сравнить значения двух строк через ==, не досмотрев это видео, она сама предложила мне equals (когда я ткнул в этот символ) и все заработало. Приятно удивлен)
Для тех, кто не понял по поводу "скрытого символа" Параметр nextLine() считывает всю строку, т.е всю информацию, которую вы ввели. Соответственно, когда вы нажимаете кнопку Enter для отправки своего сообщения, вводится "скрытый" символ, который на самом деле тот самый Enter, который вы нажали (грубо говоря, для java это как ввести , чтобы перейти на следующую строку) Вы можете использовать параметр next(), но, в отличии от nextLine(), он будет брать лишь одно первое слово, которое вы написали в указанную строку (для калькулятора самое то) Надеюсь правильно и понятно объяснил!
Увы, в упор так и не понял про скрытый символ. А именно, почему это действует на предпоследней операции? Ведь этот же скрытый символ мы получаем уже в первой операции и после нее происходит правильная обработка второй операции...
@@_Albula_как я понял потому что в начале int идёт считывает значение, а там где проблема было string(вроде как строка переводится) и поэтому он там полностью строку брал, а выше нет😊
Я не совсем понимаю почему он во время работы скипает у меня если я пишу именно nextLine, я могу успеть туда что то написать но прога сломя голову летит завершать работу
Сам недавно, догадался убрать Line и просто прописать scanner.next(), также добавлю что вместо String можно использовать char пример char action = scanner.next().charAt(0); для калькулятора также актуально и никаких проблем, единственное в case надо прописывать не "двойные кавычки", а 'одинарные'
Только начал изучать Java и все что связано с программированием. Видео очень понятные, автору спасибо огромнейшее. Нравится всегда забегать наперед, ставить видео на паузу и пробовать сделать предложенное самостоятельно, поэтому часто возникают ошибки, которые автор объясняет в следующую же секунду, это показывает насколько грамотно ведется обучение. Однозначно лайк! П.С. В конце наверное нужно было использовать float а не int, так как деление некорректно отображается в нынешнем калькуляторе)
Да, тоже так подумал, и пробовал подставить float, делит нормально. Но когда пробовал вводить числа с точкой, то выдавало ошибку, пока не разобрался почему и как исправить(((
if else очень хорошо помогает решить задачи над арифметическими операциями . В данный момент я сейчас изучаю язык Java и мне очень тяжело с этими операциями особенно поразрядными (логическими операциями и операции сдвига, логическое умножение и т.д.) у меня итак хромает математика мне тяжело подбирать какую то правильную формулу под эти операции и решить задачи(что true,что false). Я не очень хорошо разбираюсь в этой сфере, многие говорили , что математика в изучении программирования не нужна, а вот и фигушки для меня Гуманитария она нужна , но я не сдаюсь , параллельно помимо платных курсов и мне помогают ваши видео курсы . Я очень вам благодарен. Надеюсь выгорания не будет и все таки изучу программирование!
Ты молодец. Тоже всегда были проблемы с математикой, хотя считать любила. Чем больше мы занимаемся, тем больше оно закрепляется, и в конце-концов всё будет получаться. Тем более теперь я реально вижу где математика мне пригождается, из-за этого учить легче, тк есть мотивация и смысл. Которого в школе я не видела.
Урок крутой! Спасибо автору за труд! В конце получается, что на ноль делить нельзя только от num2, но num1 свободно делит на ноль, поэтому как ДЗ для начинающих "Сделайте так, чтобы на ноль нельзя было делить как в значении num1, так и в значении num2"😊
элсе режет слух))) и вы так в прошлых видео хорошо объясняли про типы данных, что int - это integer, то есть целое число. Почему бы в этом видео не дать перевод конструкции if else? Мне кажется, так намного понятнее ее суть. If - это если, else - это иначе. То есть если условие выполняется, код такой, иначе (то бишь если не выполняется) - код другой. Тогда и конструкцию else if можно представить не в виде отдельного оператора, а как условие внутри условия. То есть выходит так: если условие выполняется, делаем код1, иначе - следующее условие. Если это следующее условие выполняется, то делаем код 2, иначе - код 3.
Ноборот, не надо переводить. Вы понимаете, что большая часть информации в интернете на английском? Вы завтра захотите почитать какую-то книгу по программированию у которой нет перевода , откроете и ничего не поймете, потому что там не будет никаких "Если" и "Иначе". Да и в целом, если вы собираетесь программировать учите английский, иначе и работу найти будет сложно. А автору видео стоит поработать над произношением. Не элсе а Элс.
В Java оператор == сравнивает ссылки на объекты, а не их содержимое. Поэтому чтобы сравнивать строки по содержимому, лучше следует использовать метод equals() или equalsIgnoreCase().
Здравствуйте, покажите, пожалуйста, подробнее, как именно стоило написать метод next() ? Вот фрагмент этого кода из видео для удобства правки: Scanner scanner = new Scanner(System.in); System.out.print("Введите 1 число: "); int num1 = scanner.nextInt(); System.out.print("Введите 2 число: "); int num2 = scanner.nextInt(); int res; System.out.print("Действие: "); String action = scanner.nextLine(); action = scanner.nextLine(); switch (action) { ...
@@germak Так как берем всего один символ, то данная строка выглядела бы намного лучше. System.out.print("Действие: "); char operation = scan.next().charAt(0);
У меня возник вопрос: Есть ли в IntelliJ IDEA что-то вроде глобального блокнота, который отображается в программе, но с функцией скрывать его, менять размер, шрифт и т.д.? Т.е. он не имеет отношения к проекту и коду соответственно, а просто как доп. функция для заметок?
switch (action) { - выдавало постоянную ошибку, сверял код несколько раз... не работает. Решил автоматом пофиксить, весь код изменила сама программа на if ("+".equals(action)) Заработало без проблем, но код изменился.
про скрытый символ не понятно, почему тогда в случае переменных типа данных int не прописывали дополнительно int = scanner.nextLine(); ? или это только для типа данных String?
Если вы ввели, например 5, то на самом деле там будет еще символ перевода строки, например "5 ", кроме того, .nextInt считает "5", а символ перевода останется, его как раз и получите при вызове nextLine. Это конечно, справедливо, но на ваш вопрос не отвечает, сам над этим сейчас бьюсь, если вы нашли объяснение - прошу написать.
здравствуйте . в первую очеред огромное спасибо. дальше хочу спросить. в случае елс иф получается что мы неким оброзом связымаем значения инт с значением булин? конкретнее в нашем случае получается что изхезкар содержит некое значение а=15 б=15? тоесть изхезкар = а>=б ?
Есть некоторая загвоздка благодаря которой 1/2 будет равно 0, так как дробную часть консольное приложение не выведет. Для более идеального результата можно поменять одну из переменных на тип данных float, тогда результат будет верным System.out.print("Введите 2 число: "); float num2 = scanner.nextFloat();
по поводу концовки nextLine приписывает к концу введенной с клавиатуры строки символов или даже 1го символа знак перевода строки или %n который и считывается последующими сканнерами
Не уверен насколько это правильно, но я думаю правильнее было бы в конце ролика использовать очистку буфера, нежели снова открыть поток для ввода string, хоть это и сложнее новичку(поправьте если что-то неправильно написал)
Если у кого то возникает проблема с кодировкой русского текста. Решение: В Windows Региональные параметры/ Административные языковые параметры/вкладка Дополнительно/Изменить язык системы/Поставить галочку около Бета-версия: Использовать юникод (UTF-8) Для поддержки языка во всём мире. Далее в IntelliJ IDEA лезем в настройки Ctrl+Alt+S / вкладка Editor/ File encodings/Global encodings и Project encodings выставляем UTF-8 Ниже в Default encodings for properties files выбираем System default windows 1251 затем перекрестится трижды по православному тремя перстами приговаривая Изыдь бесовщина дьявольская. (последнее обязательно иначе не получится)
Недосмотрев ролик полез делать калькулятор на if else и застрял на моментах с невидимым символом и с записью типа (role == "Admin"). Чесал репу пока не досмотрел до конца)) Хорошо что такие моменты освещаются на практических примерах. ибо самому догадаться что после числового типа данных в строку автоматом проставляется невидимый символ просто нереально. А то программа ошибку не выдает, а просто игнорит строку
то же самое, но с невидимым символом я разобралась: заново вписала Scanner scam=new Scanner(System.in); только scan на scam поменяла. А условие у меня так и не заработало пока не досмотрела до equals не поняла только насчет Char, у него есть свой next или как вообще
Допустим напишу System.out.print("Hello "); он это выведет как "Hello " А если напишу System.out.print("Привет "); он это выведет как "?????? " Подскажите пожалуйста что делать... (P.S. использую IntelliJ IDEA Community Edition 2021.3.3)
Вопрос, мне это приложение предлагает какую-то подписку за 200 баксов,но я же качал бесплатную версию,как мне убрать это окно с предложением ведь я когда закрываю его прога также закрывается ?
Привет! Есть вопрос: Последний пример (с калькулятором) на gdk 19 не запускается, выдает такую ошибку: Incompatible types. Found: 'java.lang.String', required: 'byte, char, short or int' Запускал на gdk 16 - все получилось. В чем проблема? Подскажите пожалуйста.
Аналогично, только тренируюсь в Eclipse (хардкор, это как ручная коробка передач и автомат по сравнению с Idea). Eclipse как решение предлагает сменить JDK на 17, а в 19 в доках указан значительно меньший список поддерживаемых типов переменных для оператора switch-case. Пришлось нумеровать действия, чтобы задействовать пример из урока
This is a known bug in Java 19. This was confirmed by Brian Goetz himself on the amber-dev mailing list. UPDATE: This issue is completely fixed in Java 20. Ан нет, оказывается это бага в JDK 19....
Очень нравятся ваши уроки, практически всё улавливаю, есть у меня только одна проблема со IDEA постоянно слетает русский язык, пробую всё , но результат всегда один слетает при новом запуске (((
код абсолютно такой же но когда все ввел правильно все равно выводит фразу как тебя зовут, ошибок нет 2 часа проверял все. Может ли быть это связано с тем что я испоьзую Java 8?? подскажите пожалуйста
Доброго времени суток! Подскажите, а можно ли использовать switch-case для двойных массивов? В частности - есть 12 месяцев и есть дни в каждом месяце (для удобства в каждом пусть будет по 30 дней). Через консоль пользователь вводит данные (например траты) за каждый отдельный день. Нужно найти сумму трат за определенный месяц.
Подскажите пожалуйста, как можно решить такую проблему...При выводе в консоли русских слов/букв появляются знаки вопроса, как будто он не читает их, хотя в коде все нормально отображается, в настройках программы указанна кодировка utf-8(везде), пробовал другие, не помогло, работаю в программе eclipse
@@russian.stoicism Сергей Немчинский сказал что эта одна из трех самых сложных проблем в сфере, на нее есть много статей, но я к сожалению так и ничего не нашел, советовали не останавливаться на этом вопросе так как код в 100 проц случаях будет писать на английском языке, но кстати я проверял это в Idea, там все работает, если в настройках указать везде utf-8
@Ввппа Ццкап Действительно помогло, пришлось установить Jdk 17, затем указать его в настройках при создании проекта чтобы он как по дефолту был, и теперь при компиляции все нормально выводит, спасибо огромное за помощь 💪
@@YanamiBeatz мне помог JDK 17. Причем, если я менял кодировку на UTF-8 или стандартную, то с первого раза кириллица выводилась, а на второй запуск кода уже нет.
Добрый День! Подскажите, пожалуйста, почему у Меня срабатывает компилятор на первом же условии, если у Меня стоит совершенно другое условие и последнее else подчёркивает как ошибку? Заранее благодарю за ответ 🙂 int a = 15; int b = 20; char sym1 = 'A', sym2 = 'a'; boolean isHasCar = false; if (isHasCar){ System.out.println("Значение НЕ верно!"); } else if (sym1 == sym2); { System.out.println("Second test"); } else { System.out.println("Значение не верно!");}
Добрый день. А в операторе case строки можно сравнивать без использования оператора equals? можно объяснить в чём разница по сравнению с оператором If else.
У меня scanner в scanner.nextLine горел красным. Я его сократил до scan.nextLine и оно заработало, но res тоже горит красным и выдаёт ошибку. Придётся искать в инете
Подскажите, если: scanner.nextInt(); для цифр, а ввести в букву выдает ошибку InputMismatchException (не соответствие токена). Как этого избежать? Чтобы при введении буквы программа не крашилась, точнее как сделать проверку что введенные данный соответствуют цифрам? пробовал hasNextInt() но после него остальной код не видит переменной.. Только учусь если что..
Такая же фигня. Отправил приятелю код и о чудо у него всё работает. Было предложено сменить SDK c 21 на 17 версию. Начал проект заново но что то не помогло. Вы разобрались с этим ?
Следующие уроки еще не смотрел, но есть вопрос. Что если в этой конструкции написать 21 / 2 ? Подумал я и проверил пишет целое число, поменял тип данных на флот, после чего все работало, но задумался а если пользователь захочет написать в калькуляторе не целое число а дробное и оно уже не работало, хотя тип данных совпадал. в чем ошибка?
Попробовал без "break" работает корректно. Но при попытке делить на "0" if(num2 == 0) System.out.println("Error"); не работает. В место error выводится сообщение - Exception in thread "main" java.lang.ArithmeticException: / by zero at com.Lesson1.Main.main(Main.java:27)
а если ввести вместо int поставить float num1 = scanner.nextInt(); float num2 = scanner.nextInt(); float res; то еще и калькулятор будет делить нормально. то есть 4/5=0.8 а не как в данном случае показывает 0 без запятых.
В общем со свичем не получилось, прога предложила все поменять на if, сама все перестроила и код заработал. Короче вывод такой, учиться Java в этой среде это все равно что учиться водить на Tesla с автопилотом.
это не случайный невидимый символ. это знак переноса который появляется после нажатия на ентер и сохраняется в буфере. просто некстинт игнорит .... в общем почитайте ))) я плохо умею объяснять )))))
Если у кого то возникает проблема с командой switch (action). Решение: Ctrl+Shift+Alt+S /Modules/Sources/Language level/ выбрать 7-Diamonds, ARM, multi-cash etc
У программы настолько дружелюбный интерфейс, что когда я пытался сравнить значения двух строк через ==, не досмотрев это видео, она сама предложила мне equals (когда я ткнул в этот символ) и все заработало. Приятно удивлен)
Для тех, кто не понял по поводу "скрытого символа"
Параметр nextLine() считывает всю строку, т.е всю информацию, которую вы ввели. Соответственно, когда вы нажимаете кнопку Enter для отправки своего сообщения, вводится "скрытый" символ, который на самом деле тот самый Enter, который вы нажали (грубо говоря, для java это как ввести
, чтобы перейти на следующую строку)
Вы можете использовать параметр next(), но, в отличии от nextLine(), он будет брать лишь одно первое слово, которое вы написали в указанную строку (для калькулятора самое то)
Надеюсь правильно и понятно объяснил!
Увы, в упор так и не понял про скрытый символ. А именно, почему это действует на предпоследней операции? Ведь этот же скрытый символ мы получаем уже в первой операции и после нее происходит правильная обработка второй операции...
Спасиб, разьяснил
@@_Albula_как я понял потому что в начале int идёт считывает значение, а там где проблема было string(вроде как строка переводится) и поэтому он там полностью строку брал, а выше нет😊
Я не совсем понимаю почему он во время работы скипает у меня если я пишу именно nextLine, я могу успеть туда что то написать но прога сломя голову летит завершать работу
Сам недавно, догадался убрать Line и просто прописать scanner.next(), также добавлю что вместо String можно использовать char пример char action = scanner.next().charAt(0); для калькулятора также актуально и никаких проблем, единственное в case надо прописывать не "двойные кавычки", а 'одинарные'
Лучший человек на планете! Настолько круто объяснено, что хочется прыгать и танцевать. СПАСИБО!
Только начал изучать Java и все что связано с программированием. Видео очень понятные, автору спасибо огромнейшее. Нравится всегда забегать наперед, ставить видео на паузу и пробовать сделать предложенное самостоятельно, поэтому часто возникают ошибки, которые автор объясняет в следующую же секунду, это показывает насколько грамотно ведется обучение. Однозначно лайк!
П.С. В конце наверное нужно было использовать float а не int, так как деление некорректно отображается в нынешнем калькуляторе)
Да, тоже так подумал, и пробовал подставить float, делит нормально. Но когда пробовал вводить числа с точкой, то выдавало ошибку, пока не разобрался почему и как исправить(((
Ты продолжил учиться?))
интересно, что случилось за год
@@YuriiShanhin Приветствую, пробовали не точку, а запятую ставить в число ?
Как же здоровы Вы объясняете ! По человечески! спасибооооооо!
if else очень хорошо помогает решить задачи над арифметическими операциями . В данный момент я сейчас изучаю язык Java и мне очень тяжело с этими операциями особенно поразрядными (логическими операциями и операции сдвига, логическое умножение и т.д.) у меня итак хромает математика мне тяжело подбирать какую то правильную формулу под эти операции и решить задачи(что true,что false). Я не очень хорошо разбираюсь в этой сфере, многие говорили , что математика в изучении программирования не нужна, а вот и фигушки для меня Гуманитария она нужна , но я не сдаюсь , параллельно помимо платных курсов и мне помогают ваши видео курсы . Я очень вам благодарен. Надеюсь выгорания не будет и все таки изучу программирование!
Ты молодец. Тоже всегда были проблемы с математикой, хотя считать любила.
Чем больше мы занимаемся, тем больше оно закрепляется, и в конце-концов всё будет получаться.
Тем более теперь я реально вижу где математика мне пригождается, из-за этого учить легче, тк есть мотивация и смысл. Которого в школе я не видела.
Ну как успехи?
Как успехи сегодня?
Выучил || выгорел ?
Живой вообще?
Спасибо, что так разбираете, по-человечьи, респект
А можно подробнее по поводу скрытого символа? Откуда он и как он появляется, почему только перед последним вводом он срабатывает?
Особенность сканера, так как он считает всю линию то и когда мы нажимаем на Enter то он считает ее как endl ну или /n и передается след элементу
Смотрю,учусь,кайфую!
😃
Хороший чел, приятно слушать 😊
Урок крутой! Спасибо автору за труд!
В конце получается, что на ноль делить нельзя только от num2, но num1 свободно делит на ноль, поэтому как ДЗ для начинающих "Сделайте так, чтобы на ноль нельзя было делить как в значении num1, так и в значении num2"😊
элсе режет слух))) и вы так в прошлых видео хорошо объясняли про типы данных, что int - это integer, то есть целое число. Почему бы в этом видео не дать перевод конструкции if else? Мне кажется, так намного понятнее ее суть. If - это если, else - это иначе. То есть если условие выполняется, код такой, иначе (то бишь если не выполняется) - код другой. Тогда и конструкцию else if можно представить не в виде отдельного оператора, а как условие внутри условия. То есть выходит так: если условие выполняется, делаем код1, иначе - следующее условие. Если это следующее условие выполняется, то делаем код 2, иначе - код 3.
Я думаю человеку который не знает перевода else имеет нулевой уровень английского и ему стоит для начало подтянуть его
@@saint5294 а кому-то и русский подтянуть не мешало бы)
@@ИгорьЯхонтович живу не в россий сдаю экзамены на английском , нет смысла изучать этот язык фашистов, даже стыдно как то что я его понимаю
Ноборот, не надо переводить. Вы понимаете, что большая часть информации в интернете на английском? Вы завтра захотите почитать какую-то книгу по программированию у которой нет перевода , откроете и ничего не поймете, потому что там не будет никаких "Если" и "Иначе". Да и в целом, если вы собираетесь программировать учите английский, иначе и работу найти будет сложно.
А автору видео стоит поработать над произношением. Не элсе а Элс.
@@NickolasBerdzenishvili а тебе пора найти работу, в отличие от автора
Я тебя так долго искал)))
Классные уроки, момент с особенностью ввода в конце слегка удивил)
Можно просто использовать не nextLine(); , а next();
чекай)
@@RUSSIANVILLAGER next() это типа только для одного символа? И тогда такой проблемы как на видео не будет?
@@RUSSIANVILLAGER вау реально, а для Char что можно использовать?
@@naru5177 для чар: scan.next().charAt(0)
Классный и качественный курс👍
В Java оператор == сравнивает ссылки на объекты, а не их содержимое. Поэтому чтобы сравнивать строки по содержимому, лучше следует использовать метод equals() или equalsIgnoreCase().
По поводу концовки - ввод запрашивать можно с помощью next(); и ошибка исчезнет, чем писать лишнюю строку кода)
Здравствуйте, покажите, пожалуйста, подробнее, как именно стоило написать метод next() ?
Вот фрагмент этого кода из видео для удобства правки:
Scanner scanner = new Scanner(System.in);
System.out.print("Введите 1 число: ");
int num1 = scanner.nextInt();
System.out.print("Введите 2 число: ");
int num2 = scanner.nextInt();
int res;
System.out.print("Действие: ");
String action = scanner.nextLine();
action = scanner.nextLine();
switch (action) {
...
@@ilyakudinov2359
Before:
System.out.print("Действие: ");
String action = scanner.nextLine();
action = scanner.nextLine();
After:
System.out.print("Действие: ");
String action = scanner.next();
@@germak Так как берем всего один символ, то данная строка выглядела бы намного лучше.
System.out.print("Действие: ");
char operation = scan.next().charAt(0);
@@Kaifun1 .charAt(0); можете обяснить для чего это? только начал и не совсем понимаю
@@jewaepufyigwejfygasdipufe7537 один символ можно ввести только а не несколько
супер, спасибо, буду смотреть на работе!
Прикольно!
Ещё ради интереса я переставил "действие" между "вводом" и получилась отличная последовательность как в калькуляторе))
Спасибо, очень доступно обьяснено!
У меня возник вопрос:
Есть ли в IntelliJ IDEA что-то вроде глобального блокнота, который отображается в программе, но с функцией скрывать его, менять размер, шрифт и т.д.? Т.е. он не имеет отношения к проекту и коду соответственно, а просто как доп. функция для заметок?
Нет.
я не совсем понял что за ошибка с невидимым символом когда создавали калькулятор. можете кто нибудь по подробнее объяснить?
switch (action) {
- выдавало постоянную ошибку, сверял код несколько раз... не работает. Решил автоматом пофиксить, весь код изменила сама программа на
if ("+".equals(action))
Заработало без проблем, но код изменился.
Всем привет! 6-й урок, полет нормальный! Параллельно купил по скидке курс на JavaRush. Пишу чтобы потом через год посмотреть, что будет )
Тоже думаю,покупать или нет.Как курс?
как дела?
Ну что, как успехи?
33:36 ... я ж казав під попереднім відео, що ця Java трохи тупувата 😄)). Вона мене, час від часу, просто виводить з себе )).
Дякую за відео-уроки.
типикал хохол
Спасибо. Просто спасибо...
О скрытом символе можно подробнее? как где почему)
Супер! Спасибо
Очень круто!
про скрытый символ не понятно, почему тогда в случае переменных типа данных int не прописывали дополнительно int = scanner.nextLine(); ? или это только для типа данных String?
Если вы ввели, например 5, то на самом деле там будет еще символ перевода строки, например "5
", кроме того, .nextInt считает "5", а символ перевода останется, его как раз и получите при вызове nextLine.
Это конечно, справедливо, но на ваш вопрос не отвечает, сам над этим сейчас бьюсь, если вы нашли объяснение - прошу написать.
Братик ты лучший
здравствуйте . в первую очеред огромное спасибо. дальше хочу спросить. в случае елс иф получается что мы неким оброзом связымаем значения инт с значением булин? конкретнее в нашем случае получается что изхезкар содержит некое значение а=15 б=15? тоесть изхезкар = а>=б ?
Хорошее и подробное видео. Комментарии тоже порадовали )
Thank You
Даже спустя год он прекрасен.
А ещё можно поменять тип данных с int на float и произойдёт чудо математики
да ваще копец копиц копцы
помжно просто при делении прописать res = {float) num1/num2; И тогда ненужно будет менять тип данных при инициализации переменных
Сам себе задание придумал . Если ввести логин и пароль . То заработает калькулятор , если нет то идешь лесом
полезная информация 👍
Есть некоторая загвоздка благодаря которой 1/2 будет равно 0, так как дробную часть консольное приложение не выведет. Для более идеального результата можно поменять одну из переменных на тип данных float, тогда результат будет верным
System.out.print("Введите 2 число: ");
float num2 = scanner.nextFloat();
Добрый день, а нельзя просто сделать float res;???
@@drubic8434 интересный вопрос, надо пробовать что получится
по поводу концовки
nextLine приписывает к концу введенной с клавиатуры строки символов или даже 1го символа знак перевода строки
или %n который и считывается последующими сканнерами
соответственно next() не добавляет в конце строки символа перевода строки?
или просто итог "да верно" будет работать только в тех случаях если будут верно заданы значениа булин или инт?
Механическая ошибка в коде. При копировании везде поставили + res. На качество подачи материала не влияет, поэтому ставлю лайк 🙂
Спасибо вам! Я уже начинаю потихоньку понимать код и даже написал свою очень простую программку
Привет! ну как у тебя с джавой? прошло уже 8 месяцев, а я только её учу
@@skullcrusher4185 привет, че освоил за 3 месяца
я только учу ее
@@dotawhueta хаха, я просмотрел курс. А дальше мне показалось сложно, но щас я перешёл на более легче язык - Питон, вот с ним у меня всё круто
Огромное спасибо. Пол года не решался с питона перейти на другой язык.
Честно, C# чутьли не слово в слово такой же 🤯
Все понравилось.
за элсе лайк!
Благодарю!
какое сочетание клавиш нажимается, когда копируется и вставляется ниже сразу по 2-3 строчки кода? Например, как на 27:29 минуте
ctrl + d будучи на строке кода копирует ее и создает такую же ниже
Не уверен насколько это правильно, но я думаю правильнее было бы в конце ролика использовать очистку буфера, нежели снова открыть поток для ввода string, хоть это и сложнее новичку(поправьте если что-то неправильно написал)
Если у кого то возникает проблема с кодировкой русского текста. Решение: В Windows Региональные параметры/ Административные языковые параметры/вкладка Дополнительно/Изменить язык системы/Поставить галочку около Бета-версия: Использовать юникод (UTF-8) Для поддержки языка во всём мире. Далее в IntelliJ IDEA лезем в настройки Ctrl+Alt+S / вкладка Editor/ File encodings/Global encodings и Project encodings выставляем UTF-8 Ниже в Default encodings for properties files выбираем System default windows 1251 затем перекрестится трижды по православному тремя перстами приговаривая Изыдь бесовщина дьявольская. (последнее обязательно иначе не получится)
герой♥
Здравствуйте. У меня NetBeans IDE 8.1 подсказки как у вас не показывает. Где включить?
Недосмотрев ролик полез делать калькулятор на if else и застрял на моментах с невидимым символом и с записью типа (role == "Admin"). Чесал репу пока не досмотрел до конца)) Хорошо что такие моменты освещаются на практических примерах. ибо самому догадаться что после числового типа данных в строку автоматом проставляется невидимый символ просто нереально. А то программа ошибку не выдает, а просто игнорит строку
Спасибо 🙏🏻 очень классно объясняете !
то же самое, но с невидимым символом я разобралась: заново вписала Scanner scam=new Scanner(System.in); только scan на scam поменяла. А условие у меня так и не заработало пока не досмотрела до equals
не поняла только насчет Char, у него есть свой next или как вообще
А теперь switch не поддерживает строки? В последнем задании всплывает ошибка при запуске
Помогите!!!
Когда пишу что-то в "sout" на русском он не может определить что я написал, а когда на английском он это выводит
Допустим напишу
System.out.print("Hello "); он это выведет как "Hello "
А если напишу
System.out.print("Привет "); он это выведет как "?????? "
Подскажите пожалуйста что делать... (P.S. использую IntelliJ IDEA Community Edition 2021.3.3)
@@АртёмЧерепов-о9ц что-то с кодировкой. Справа внизу (где стетусбар) попробуй выбрать другую кодировку, например UTF-8, или windows-1251
Слушай, такая проблема, я когда пишу System.out.print он выделяет слово print как ошибку, скажи что делать пж
Ну гугл в помощь а возможно ты скобки не поставил
Вопрос, мне это приложение предлагает какую-то подписку за 200 баксов,но я же качал бесплатную версию,как мне убрать это окно с предложением ведь я когда закрываю его прога также закрывается ?
Привет! Есть вопрос:
Последний пример (с калькулятором) на gdk 19 не запускается, выдает такую ошибку: Incompatible types. Found: 'java.lang.String', required: 'byte, char, short or int'
Запускал на gdk 16 - все получилось.
В чем проблема? Подскажите пожалуйста.
надо место switch юзать if
Аналогично, только тренируюсь в Eclipse (хардкор, это как ручная коробка передач и автомат по сравнению с Idea). Eclipse как решение предлагает сменить JDK на 17, а в 19 в доках указан значительно меньший список поддерживаемых типов переменных для оператора switch-case. Пришлось нумеровать действия, чтобы задействовать пример из урока
This is a known bug in Java 19. This was confirmed by Brian Goetz himself on the amber-dev mailing list.
UPDATE: This issue is completely fixed in Java 20.
Ан нет, оказывается это бага в JDK 19....
при создании калькулятора горит красным слово RES , может в новых версиях теперь по другому както
Очень нравятся ваши уроки, практически всё улавливаю, есть у меня только одна проблема со IDEA постоянно слетает русский язык, пробую всё , но результат всегда один слетает при новом запуске (((
аналогично, как исправить?
у меня IDEA вообще не открылся, пишу на другой онлайн среде
код абсолютно такой же но когда все ввел правильно все равно выводит фразу как тебя зовут, ошибок нет 2 часа проверял все. Может ли быть это связано с тем что я испоьзую Java 8?? подскажите пожалуйста
Спасибо
Доброго времени суток! Подскажите, а можно ли использовать switch-case для двойных массивов? В частности - есть 12 месяцев и есть дни в каждом месяце (для удобства в каждом пусть будет по 30 дней). Через консоль пользователь вводит данные (например траты) за каждый отдельный день. Нужно найти сумму трат за определенный месяц.
нельзя
Подскажите пожалуйста, как можно решить такую проблему...При выводе в консоли русских слов/букв появляются знаки вопроса, как будто он не читает их, хотя в коде все нормально отображается, в настройках программы указанна кодировка utf-8(везде), пробовал другие, не помогло, работаю в программе eclipse
Тоже с этой проблемой столкнулся, так и не понял как решить
@@russian.stoicism Сергей Немчинский сказал что эта одна из трех самых сложных проблем в сфере, на нее есть много статей, но я к сожалению так и ничего не нашел, советовали не останавливаться на этом вопросе так как код в 100 проц случаях будет писать на английском языке, но кстати я проверял это в Idea, там все работает, если в настройках указать везде utf-8
@Ввппа Ццкап Действительно помогло, пришлось установить Jdk 17, затем указать его в настройках при создании проекта чтобы он как по дефолту был, и теперь при компиляции все нормально выводит, спасибо огромное за помощь 💪
Задолбали, гуглить идите на не спамьте в комментах своими глупыми вопросами
@@YanamiBeatz мне помог JDK 17. Причем, если я менял кодировку на UTF-8 или стандартную, то с первого раза кириллица выводилась, а на второй запуск кода уже нет.
В калькуляторе "+" когда ставишь знак в ковычки выдает ошибку, как исправить?
Почему всегда условие подсвечивает желтым цветом на фоне условия? Как будто это ошибка
Огонь
Велике ДЯКУЮ !!!
Не могу заменить в этом коде int на float дает ошибку, может кто подскажет в чем дело?
У меня не знаю почему но не хочет работать через switch, выдаёт incompatible types и предлагает перейти на if и else. В чём причина?
Добрый День! Подскажите, пожалуйста, почему у Меня срабатывает компилятор на первом же условии, если у Меня стоит совершенно другое условие и последнее else подчёркивает как ошибку? Заранее благодарю за ответ 🙂
int a = 15; int b = 20;
char sym1 = 'A', sym2 = 'a';
boolean isHasCar = false;
if (isHasCar){
System.out.println("Значение НЕ верно!");
} else if (sym1 == sym2); {
System.out.println("Second test");
} else {
System.out.println("Значение не верно!");}
В строке
} else if (sym1 == sym2); {
лишняя " ; " после скобок
@@ern3st0_04 Благодарю вас за ответ и помощь!
Добрый день. А в операторе case строки можно сравнивать без использования оператора equals? можно объяснить в чём разница по сравнению с оператором If else.
Место int, сразу лучше писать float, как в прошлом занятии, иначе делиться будет только целыми числами
У меня scanner в scanner.nextLine горел красным. Я его сократил до scan.nextLine и оно заработало, но res тоже горит красным и выдаёт ошибку. Придётся искать в инете
Ребята!! Использую тип данных double и все равно не могу вводить дробные числа, программа не работает! В чем может быть проблема?
34:40 я конечно ничего не говорю, но в питоне такой калькулятор делается в 2 строчки
Про скрытый символ не вполне понял
А как этот калькулятор закольцевать? Чтоб можно было снова делать вычисления. Вернуться к "введите первое число"
через циклы
Подскажите, если: scanner.nextInt(); для цифр, а ввести в букву выдает ошибку InputMismatchException (не соответствие токена).
Как этого избежать? Чтобы при введении буквы программа не крашилась, точнее как сделать проверку что введенные данный соответствуют цифрам? пробовал hasNextInt() но после него остальной код не видит переменной..
Только учусь если что..
Да, в Джаве не существует scannet.nextChar. Используют input.next().charAt(0);. Сам только учусь, по этому погуглите сами )
у меня почему то слово action после switch с ошибкой красными буквами обозначает
такая же фигня. Ты понял в чем дело?
@hessi10 Дело не в коде, у меня та же ерунда но мой код сработал корректно на другом компе.
Почему когда пишу switch (action), показывает ошибку?
Такая же фигня. Отправил приятелю код и о чудо у него всё работает. Было предложено сменить SDK c 21 на 17 версию. Начал проект заново но что то не помогло. Вы разобрались с этим ?
У меня прога выбивала ошибку и потом сама поменя
res = num + num 1;
Почему так???
так нельзя. надо именно Int res = num+num1;
Следующие уроки еще не смотрел, но есть вопрос. Что если в этой конструкции написать 21 / 2 ? Подумал я и проверил пишет целое число, поменял тип данных на флот, после чего все работало, но задумался а если пользователь захочет написать в калькуляторе не целое число а дробное и оно уже не работало, хотя тип данных совпадал. в чем ошибка?
А что за ошибку выдаëт?
6:36 не "is" а "does"
Попробовал без "break" работает корректно. Но при попытке делить на "0" if(num2 == 0)
System.out.println("Error"); не работает.
В место error выводится сообщение - Exception in thread "main" java.lang.ArithmeticException: / by zero
at com.Lesson1.Main.main(Main.java:27)
а если ввести вместо int поставить float num1 = scanner.nextInt(); float num2 = scanner.nextInt(); float res; то еще и калькулятор будет делить нормально. то есть 4/5=0.8 а не как в данном случае показывает 0 без запятых.
Как говорил мой Дед.... Проверок много не бывает! А дальше не помню, очухивался с шишкой на голове =)
Про случайный невидимый символ не понял, слишком быстро и коротко объяснил.
Когда выводишь if(num2==0) - выделяется коричневым и просто игнорируется , с чем может быть связано кто подскажет?
Интересно слушать лекции, спасибо большое)))Но очень быстро говорите))))Делаю перерывы, мозгу тяжело обрабатывать так быстро новую информацию)
String action = scan.nextLine();
action = scan.nextLine();
С чарами) дублировать не пришлось
char action = scan.next().charAt(0);
В общем со свичем не получилось, прога предложила все поменять на if, сама все перестроила и код заработал. Короче вывод такой, учиться Java в этой среде это все равно что учиться водить на Tesla с автопилотом.
Что такое тобишь?
загугли
Да блин, не ЭЛСЕ ПОЖАЛУЙСТА, а элс
КУрс чушь. Свич не работает с стр. НИ каких пояснений почему так происходит
это не случайный невидимый символ. это знак переноса
который появляется после нажатия на ентер и сохраняется в буфере. просто некстинт игнорит .... в общем почитайте ))) я плохо умею объяснять )))))
16:00
у меня всё корректно заработало без equals, хотя компилятор в начале попросил создать отдельную переменную для role
Если у кого то возникает проблема с командой switch (action). Решение: Ctrl+Shift+Alt+S /Modules/Sources/Language level/ выбрать 7-Diamonds, ARM, multi-cash etc
Ошибку по 7 тоже дает, пробуйте выше. У меня сработало на 8
Спасибо, помогло.
else произносится [els]