У программы настолько дружелюбный интерфейс, что когда я пытался сравнить значения двух строк через ==, не досмотрев это видео, она сама предложила мне 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"😊
В 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);
Если у кого то возникает проблема с кодировкой русского текста. Решение: В 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 затем перекрестится трижды по православному тремя перстами приговаривая Изыдь бесовщина дьявольская. (последнее обязательно иначе не получится)
Есть некоторая загвоздка благодаря которой 1/2 будет равно 0, так как дробную часть консольное приложение не выведет. Для более идеального результата можно поменять одну из переменных на тип данных float, тогда результат будет верным System.out.print("Введите 2 число: "); float num2 = scanner.nextFloat();
элсе режет слух))) и вы так в прошлых видео хорошо объясняли про типы данных, что int - это integer, то есть целое число. Почему бы в этом видео не дать перевод конструкции if else? Мне кажется, так намного понятнее ее суть. If - это если, else - это иначе. То есть если условие выполняется, код такой, иначе (то бишь если не выполняется) - код другой. Тогда и конструкцию else if можно представить не в виде отдельного оператора, а как условие внутри условия. То есть выходит так: если условие выполняется, делаем код1, иначе - следующее условие. Если это следующее условие выполняется, то делаем код 2, иначе - код 3.
Ноборот, не надо переводить. Вы понимаете, что большая часть информации в интернете на английском? Вы завтра захотите почитать какую-то книгу по программированию у которой нет перевода , откроете и ничего не поймете, потому что там не будет никаких "Если" и "Иначе". Да и в целом, если вы собираетесь программировать учите английский, иначе и работу найти будет сложно. А автору видео стоит поработать над произношением. Не элсе а Элс.
switch (action) { - выдавало постоянную ошибку, сверял код несколько раз... не работает. Решил автоматом пофиксить, весь код изменила сама программа на if ("+".equals(action)) Заработало без проблем, но код изменился.
Недосмотрев ролик полез делать калькулятор на if else и застрял на моментах с невидимым символом и с записью типа (role == "Admin"). Чесал репу пока не досмотрел до конца)) Хорошо что такие моменты освещаются на практических примерах. ибо самому догадаться что после числового типа данных в строку автоматом проставляется невидимый символ просто нереально. А то программа ошибку не выдает, а просто игнорит строку
то же самое, но с невидимым символом я разобралась: заново вписала Scanner scam=new Scanner(System.in); только scan на scam поменяла. А условие у меня так и не заработало пока не досмотрела до equals не поняла только насчет Char, у него есть свой next или как вообще
по поводу концовки nextLine приписывает к концу введенной с клавиатуры строки символов или даже 1го символа знак перевода строки или %n который и считывается последующими сканнерами
Не уверен насколько это правильно, но я думаю правильнее было бы в конце ролика использовать очистку буфера, нежели снова открыть поток для ввода string, хоть это и сложнее новичку(поправьте если что-то неправильно написал)
про скрытый символ не понятно, почему тогда в случае переменных типа данных int не прописывали дополнительно int = scanner.nextLine(); ? или это только для типа данных String?
Если вы ввели, например 5, то на самом деле там будет еще символ перевода строки, например "5 ", кроме того, .nextInt считает "5", а символ перевода останется, его как раз и получите при вызове nextLine. Это конечно, справедливо, но на ваш вопрос не отвечает, сам над этим сейчас бьюсь, если вы нашли объяснение - прошу написать.
У меня возник вопрос: Есть ли в IntelliJ IDEA что-то вроде глобального блокнота, который отображается в программе, но с функцией скрывать его, менять размер, шрифт и т.д.? Т.е. он не имеет отношения к проекту и коду соответственно, а просто как доп. функция для заметок?
здравствуйте . в первую очеред огромное спасибо. дальше хочу спросить. в случае елс иф получается что мы неким оброзом связымаем значения инт с значением булин? конкретнее в нашем случае получается что изхезкар содержит некое значение а=15 б=15? тоесть изхезкар = а>=б ?
Очень нравятся ваши уроки, практически всё улавливаю, есть у меня только одна проблема со IDEA постоянно слетает русский язык, пробую всё , но результат всегда один слетает при новом запуске (((
а если ввести вместо int поставить float num1 = scanner.nextInt(); float num2 = scanner.nextInt(); float res; то еще и калькулятор будет делить нормально. то есть 4/5=0.8 а не как в данном случае показывает 0 без запятых.
это не случайный невидимый символ. это знак переноса который появляется после нажатия на ентер и сохраняется в буфере. просто некстинт игнорит .... в общем почитайте ))) я плохо умею объяснять )))))
Привет! Есть вопрос: Последний пример (с калькулятором) на 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....
Доброго времени суток! Подскажите, а можно ли использовать switch-case для двойных массивов? В частности - есть 12 месяцев и есть дни в каждом месяце (для удобства в каждом пусть будет по 30 дней). Через консоль пользователь вводит данные (например траты) за каждый отдельный день. Нужно найти сумму трат за определенный месяц.
Вопрос, мне это приложение предлагает какую-то подписку за 200 баксов,но я же качал бесплатную версию,как мне убрать это окно с предложением ведь я когда закрываю его прога также закрывается ?
В общем со свичем не получилось, прога предложила все поменять на if, сама все перестроила и код заработал. Короче вывод такой, учиться Java в этой среде это все равно что учиться водить на Tesla с автопилотом.
Добрый день. А в операторе case строки можно сравнивать без использования оператора equals? можно объяснить в чём разница по сравнению с оператором If else.
код абсолютно такой же но когда все ввел правильно все равно выводит фразу как тебя зовут, ошибок нет 2 часа проверял все. Может ли быть это связано с тем что я испоьзую Java 8?? подскажите пожалуйста
Допустим напишу System.out.print("Hello "); он это выведет как "Hello " А если напишу System.out.print("Привет "); он это выведет как "?????? " Подскажите пожалуйста что делать... (P.S. использую IntelliJ IDEA Community Edition 2021.3.3)
Подскажите пожалуйста, как можно решить такую проблему...При выводе в консоли русских слов/букв появляются знаки вопроса, как будто он не читает их, хотя в коде все нормально отображается, в настройках программы указанна кодировка utf-8(везде), пробовал другие, не помогло, работаю в программе eclipse
@@russian.stoicism Сергей Немчинский сказал что эта одна из трех самых сложных проблем в сфере, на нее есть много статей, но я к сожалению так и ничего не нашел, советовали не останавливаться на этом вопросе так как код в 100 проц случаях будет писать на английском языке, но кстати я проверял это в Idea, там все работает, если в настройках указать везде utf-8
@Ввппа Ццкап Действительно помогло, пришлось установить Jdk 17, затем указать его в настройках при создании проекта чтобы он как по дефолту был, и теперь при компиляции все нормально выводит, спасибо огромное за помощь 💪
@@YanamiBeatz мне помог JDK 17. Причем, если я менял кодировку на UTF-8 или стандартную, то с первого раза кириллица выводилась, а на второй запуск кода уже нет.
Если у кого то возникает проблема с командой switch (action). Решение: Ctrl+Shift+Alt+S /Modules/Sources/Language level/ выбрать 7-Diamonds, ARM, multi-cash etc
У меня scanner в scanner.nextLine горел красным. Я его сократил до scan.nextLine и оно заработало, но res тоже горит красным и выдаёт ошибку. Придётся искать в инете
Следующие уроки еще не смотрел, но есть вопрос. Что если в этой конструкции написать 21 / 2 ? Подумал я и проверил пишет целое число, поменял тип данных на флот, после чего все работало, но задумался а если пользователь захочет написать в калькуляторе не целое число а дробное и оно уже не работало, хотя тип данных совпадал. в чем ошибка?
Добрый День! Подскажите, пожалуйста, почему у Меня срабатывает компилятор на первом же условии, если у Меня стоит совершенно другое условие и последнее 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("Значение не верно!");}
Подскажите, если: scanner.nextInt(); для цифр, а ввести в букву выдает ошибку InputMismatchException (не соответствие токена). Как этого избежать? Чтобы при введении буквы программа не крашилась, точнее как сделать проверку что введенные данный соответствуют цифрам? пробовал hasNextInt() но после него остальной код не видит переменной.. Только учусь если что..
Такая же фигня. Отправил приятелю код и о чудо у него всё работает. Было предложено сменить SDK c 21 на 17 версию. Начал проект заново но что то не помогло. Вы разобрались с этим ?
Попробовал без "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)
У программы настолько дружелюбный интерфейс, что когда я пытался сравнить значения двух строк через ==, не досмотрев это видео, она сама предложила мне 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"😊
Смотрю,учусь,кайфую!
😃
Велике ДЯКУЮ !!!
Хороший чел, приятно слушать 😊
В Java оператор == сравнивает ссылки на объекты, а не их содержимое. Поэтому чтобы сравнивать строки по содержимому, лучше следует использовать метод equals() или equalsIgnoreCase().
Классный и качественный курс👍
Всем привет! 6-й урок, полет нормальный! Параллельно купил по скидке курс на JavaRush. Пишу чтобы потом через год посмотреть, что будет )
Тоже думаю,покупать или нет.Как курс?
как дела?
Ну что, как успехи?
Прикольно!
Ещё ради интереса я переставил "действие" между "вводом" и получилась отличная последовательность как в калькуляторе))
Даже спустя год он прекрасен.
По поводу концовки - ввод запрашивать можно с помощью 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 один символ можно ввести только а не несколько
Классные уроки, момент с особенностью ввода в конце слегка удивил)
Можно просто использовать не nextLine(); , а next();
чекай)
@@RUSSIANVILLAGER next() это типа только для одного символа? И тогда такой проблемы как на видео не будет?
@@RUSSIANVILLAGER вау реально, а для Char что можно использовать?
@@naru5177 для чар: scan.next().charAt(0)
Если у кого то возникает проблема с кодировкой русского текста. Решение: В 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 затем перекрестится трижды по православному тремя перстами приговаривая Изыдь бесовщина дьявольская. (последнее обязательно иначе не получится)
герой♥
Спасибо, очень доступно обьяснено!
супер, спасибо, буду смотреть на работе!
Спасибо вам! Я уже начинаю потихоньку понимать код и даже написал свою очень простую программку
Привет! ну как у тебя с джавой? прошло уже 8 месяцев, а я только её учу
@@skullcrusher4185 привет, че освоил за 3 месяца
я только учу ее
@@dotawhueta хаха, я просмотрел курс. А дальше мне показалось сложно, но щас я перешёл на более легче язык - Питон, вот с ним у меня всё круто
Хорошее и подробное видео. Комментарии тоже порадовали )
Есть некоторая загвоздка благодаря которой 1/2 будет равно 0, так как дробную часть консольное приложение не выведет. Для более идеального результата можно поменять одну из переменных на тип данных float, тогда результат будет верным
System.out.print("Введите 2 число: ");
float num2 = scanner.nextFloat();
Добрый день, а нельзя просто сделать float res;???
@@drubic8434 интересный вопрос, надо пробовать что получится
элсе режет слух))) и вы так в прошлых видео хорошо объясняли про типы данных, что int - это integer, то есть целое число. Почему бы в этом видео не дать перевод конструкции if else? Мне кажется, так намного понятнее ее суть. If - это если, else - это иначе. То есть если условие выполняется, код такой, иначе (то бишь если не выполняется) - код другой. Тогда и конструкцию else if можно представить не в виде отдельного оператора, а как условие внутри условия. То есть выходит так: если условие выполняется, делаем код1, иначе - следующее условие. Если это следующее условие выполняется, то делаем код 2, иначе - код 3.
Я думаю человеку который не знает перевода else имеет нулевой уровень английского и ему стоит для начало подтянуть его
@@saint5294 а кому-то и русский подтянуть не мешало бы)
@@ИгорьЯхонтович живу не в россий сдаю экзамены на английском , нет смысла изучать этот язык фашистов, даже стыдно как то что я его понимаю
Ноборот, не надо переводить. Вы понимаете, что большая часть информации в интернете на английском? Вы завтра захотите почитать какую-то книгу по программированию у которой нет перевода , откроете и ничего не поймете, потому что там не будет никаких "Если" и "Иначе". Да и в целом, если вы собираетесь программировать учите английский, иначе и работу найти будет сложно.
А автору видео стоит поработать над произношением. Не элсе а Элс.
@@NickolasBerdzenishvili а тебе пора найти работу, в отличие от автора
Спасибо. Просто спасибо...
switch (action) {
- выдавало постоянную ошибку, сверял код несколько раз... не работает. Решил автоматом пофиксить, весь код изменила сама программа на
if ("+".equals(action))
Заработало без проблем, но код изменился.
Я тебя так долго искал)))
Огромное спасибо. Пол года не решался с питона перейти на другой язык.
О скрытом символе можно подробнее? как где почему)
Недосмотрев ролик полез делать калькулятор на if else и застрял на моментах с невидимым символом и с записью типа (role == "Admin"). Чесал репу пока не досмотрел до конца)) Хорошо что такие моменты освещаются на практических примерах. ибо самому догадаться что после числового типа данных в строку автоматом проставляется невидимый символ просто нереально. А то программа ошибку не выдает, а просто игнорит строку
Спасибо 🙏🏻 очень классно объясняете !
то же самое, но с невидимым символом я разобралась: заново вписала Scanner scam=new Scanner(System.in); только scan на scam поменяла. А условие у меня так и не заработало пока не досмотрела до equals
не поняла только насчет Char, у него есть свой next или как вообще
по поводу концовки
nextLine приписывает к концу введенной с клавиатуры строки символов или даже 1го символа знак перевода строки
или %n который и считывается последующими сканнерами
соответственно next() не добавляет в конце строки символа перевода строки?
А ещё можно поменять тип данных с int на float и произойдёт чудо математики
да ваще копец копиц копцы
помжно просто при делении прописать res = {float) num1/num2; И тогда ненужно будет менять тип данных при инициализации переменных
Механическая ошибка в коде. При копировании везде поставили + res. На качество подачи материала не влияет, поэтому ставлю лайк 🙂
Сам себе задание придумал . Если ввести логин и пароль . То заработает калькулятор , если нет то идешь лесом
Не уверен насколько это правильно, но я думаю правильнее было бы в конце ролика использовать очистку буфера, нежели снова открыть поток для ввода string, хоть это и сложнее новичку(поправьте если что-то неправильно написал)
33:36 ... я ж казав під попереднім відео, що ця Java трохи тупувата 😄)). Вона мене, час від часу, просто виводить з себе )).
Дякую за відео-уроки.
типикал хохол
Честно, C# чутьли не слово в слово такой же 🤯
Братик ты лучший
про скрытый символ не понятно, почему тогда в случае переменных типа данных int не прописывали дополнительно int = scanner.nextLine(); ? или это только для типа данных String?
Если вы ввели, например 5, то на самом деле там будет еще символ перевода строки, например "5
", кроме того, .nextInt считает "5", а символ перевода останется, его как раз и получите при вызове nextLine.
Это конечно, справедливо, но на ваш вопрос не отвечает, сам над этим сейчас бьюсь, если вы нашли объяснение - прошу написать.
Супер! Спасибо
полезная информация 👍
У меня возник вопрос:
Есть ли в IntelliJ IDEA что-то вроде глобального блокнота, который отображается в программе, но с функцией скрывать его, менять размер, шрифт и т.д.? Т.е. он не имеет отношения к проекту и коду соответственно, а просто как доп. функция для заметок?
Нет.
я не совсем понял что за ошибка с невидимым символом когда создавали калькулятор. можете кто нибудь по подробнее объяснить?
здравствуйте . в первую очеред огромное спасибо. дальше хочу спросить. в случае елс иф получается что мы неким оброзом связымаем значения инт с значением булин? конкретнее в нашем случае получается что изхезкар содержит некое значение а=15 б=15? тоесть изхезкар = а>=б ?
Очень круто!
Все понравилось.
или просто итог "да верно" будет работать только в тех случаях если будут верно заданы значениа булин или инт?
Очень нравятся ваши уроки, практически всё улавливаю, есть у меня только одна проблема со IDEA постоянно слетает русский язык, пробую всё , но результат всегда один слетает при новом запуске (((
аналогично, как исправить?
у меня IDEA вообще не открылся, пишу на другой онлайн среде
Благодарю!
за элсе лайк!
А теперь switch не поддерживает строки? В последнем задании всплывает ошибка при запуске
а если ввести вместо int поставить float num1 = scanner.nextInt(); float num2 = scanner.nextInt(); float res; то еще и калькулятор будет делить нормально. то есть 4/5=0.8 а не как в данном случае показывает 0 без запятых.
Спасибо
Как говорил мой Дед.... Проверок много не бывает! А дальше не помню, очухивался с шишкой на голове =)
Здравствуйте. У меня NetBeans IDE 8.1 подсказки как у вас не показывает. Где включить?
Про скрытый символ не вполне понял
при создании калькулятора горит красным слово RES , может в новых версиях теперь по другому както
это не случайный невидимый символ. это знак переноса
который появляется после нажатия на ентер и сохраняется в буфере. просто некстинт игнорит .... в общем почитайте ))) я плохо умею объяснять )))))
Почему всегда условие подсвечивает желтым цветом на фоне условия? Как будто это ошибка
какое сочетание клавиш нажимается, когда копируется и вставляется ниже сразу по 2-3 строчки кода? Например, как на 27:29 минуте
ctrl + d будучи на строке кода копирует ее и создает такую же ниже
Привет! Есть вопрос:
Последний пример (с калькулятором) на 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....
Доброго времени суток! Подскажите, а можно ли использовать switch-case для двойных массивов? В частности - есть 12 месяцев и есть дни в каждом месяце (для удобства в каждом пусть будет по 30 дней). Через консоль пользователь вводит данные (например траты) за каждый отдельный день. Нужно найти сумму трат за определенный месяц.
нельзя
Вопрос, мне это приложение предлагает какую-то подписку за 200 баксов,но я же качал бесплатную версию,как мне убрать это окно с предложением ведь я когда закрываю его прога также закрывается ?
А как этот калькулятор закольцевать? Чтоб можно было снова делать вычисления. Вернуться к "введите первое число"
через циклы
В общем со свичем не получилось, прога предложила все поменять на if, сама все перестроила и код заработал. Короче вывод такой, учиться Java в этой среде это все равно что учиться водить на Tesla с автопилотом.
Добрый день. А в операторе case строки можно сравнивать без использования оператора equals? можно объяснить в чём разница по сравнению с оператором If else.
Слушай, такая проблема, я когда пишу System.out.print он выделяет слово print как ошибку, скажи что делать пж
Ну гугл в помощь а возможно ты скобки не поставил
34:40 я конечно ничего не говорю, но в питоне такой калькулятор делается в 2 строчки
Огонь
У меня прога выбивала ошибку и потом сама поменя
res = num + num 1;
Почему так???
Интересно слушать лекции, спасибо большое)))Но очень быстро говорите))))Делаю перерывы, мозгу тяжело обрабатывать так быстро новую информацию)
Про случайный невидимый символ не понял, слишком быстро и коротко объяснил.
код абсолютно такой же но когда все ввел правильно все равно выводит фразу как тебя зовут, ошибок нет 2 часа проверял все. Может ли быть это связано с тем что я испоьзую Java 8?? подскажите пожалуйста
Помогите!!!
Когда пишу что-то в "sout" на русском он не может определить что я написал, а когда на английском он это выводит
Допустим напишу
System.out.print("Hello "); он это выведет как "Hello "
А если напишу
System.out.print("Привет "); он это выведет как "?????? "
Подскажите пожалуйста что делать... (P.S. использую IntelliJ IDEA Community Edition 2021.3.3)
@@АртёмЧерепов-о9ц что-то с кодировкой. Справа внизу (где стетусбар) попробуй выбрать другую кодировку, например UTF-8, или windows-1251
Подскажите пожалуйста, как можно решить такую проблему...При выводе в консоли русских слов/букв появляются знаки вопроса, как будто он не читает их, хотя в коде все нормально отображается, в настройках программы указанна кодировка utf-8(везде), пробовал другие, не помогло, работаю в программе eclipse
Тоже с этой проблемой столкнулся, так и не понял как решить
@@russian.stoicism Сергей Немчинский сказал что эта одна из трех самых сложных проблем в сфере, на нее есть много статей, но я к сожалению так и ничего не нашел, советовали не останавливаться на этом вопросе так как код в 100 проц случаях будет писать на английском языке, но кстати я проверял это в Idea, там все работает, если в настройках указать везде utf-8
@Ввппа Ццкап Действительно помогло, пришлось установить Jdk 17, затем указать его в настройках при создании проекта чтобы он как по дефолту был, и теперь при компиляции все нормально выводит, спасибо огромное за помощь 💪
Задолбали, гуглить идите на не спамьте в комментах своими глупыми вопросами
@@YanamiBeatz мне помог JDK 17. Причем, если я менял кодировку на UTF-8 или стандартную, то с первого раза кириллица выводилась, а на второй запуск кода уже нет.
Если у кого то возникает проблема с командой switch (action). Решение: Ctrl+Shift+Alt+S /Modules/Sources/Language level/ выбрать 7-Diamonds, ARM, multi-cash etc
Ошибку по 7 тоже дает, пробуйте выше. У меня сработало на 8
В калькуляторе "+" когда ставишь знак в ковычки выдает ошибку, как исправить?
У меня не знаю почему но не хочет работать через switch, выдаёт incompatible types и предлагает перейти на if и else. В чём причина?
у меня всё корректно заработало без equals, хотя компилятор в начале попросил создать отдельную переменную для role
У меня scanner в scanner.nextLine горел красным. Я его сократил до scan.nextLine и оно заработало, но res тоже горит красным и выдаёт ошибку. Придётся искать в инете
Ребята!! Использую тип данных double и все равно не могу вводить дробные числа, программа не работает! В чем может быть проблема?
Следующие уроки еще не смотрел, но есть вопрос. Что если в этой конструкции написать 21 / 2 ? Подумал я и проверил пишет целое число, поменял тип данных на флот, после чего все работало, но задумался а если пользователь захочет написать в калькуляторе не целое число а дробное и оно уже не работало, хотя тип данных совпадал. в чем ошибка?
А что за ошибку выдаëт?
Не могу заменить в этом коде int на float дает ошибку, может кто подскажет в чем дело?
Короче, ребятки. Если у вас switch не поддерживает тип String, то качаем не более старую версию Java и создаём новый проект на ней
Добрый День! Подскажите, пожалуйста, почему у Меня срабатывает компилятор на первом же условии, если у Меня стоит совершенно другое условие и последнее 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 Благодарю вас за ответ и помощь!
Подскажите, если: scanner.nextInt(); для цифр, а ввести в букву выдает ошибку InputMismatchException (не соответствие токена).
Как этого избежать? Чтобы при введении буквы программа не крашилась, точнее как сделать проверку что введенные данный соответствуют цифрам? пробовал hasNextInt() но после него остальной код не видит переменной..
Только учусь если что..
Да, в Джаве не существует scannet.nextChar. Используют input.next().charAt(0);. Сам только учусь, по этому погуглите сами )
Почему когда пишу switch (action), показывает ошибку?
Такая же фигня. Отправил приятелю код и о чудо у него всё работает. Было предложено сменить SDK c 21 на 17 версию. Начал проект заново но что то не помогло. Вы разобрались с этим ?
у меня почему то слово action после switch с ошибкой красными буквами обозначает
такая же фигня. Ты понял в чем дело?
@hessi10 Дело не в коде, у меня та же ерунда но мой код сработал корректно на другом компе.
Застрял на 21.59((
java:`else` without `lf`.
else произносится [els]
Когда выводишь if(num2==0) - выделяется коричневым и просто игнорируется , с чем может быть связано кто подскажет?
это точно java? а то я пока нашел минимальные различия с js на этих порах
Да блин, не ЭЛСЕ ПОЖАЛУЙСТА, а элс
елсЕ, да-да, именно ЕЛСЕ
Попробовал без "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)
6:36 не "is" а "does"
элсе, то бишь
В Какой-то момент Автор вообще перестал обьяснять что откуда взялось что такое Scaner.nextLine, и откуда он