Уроки Java с нуля / #6 - Условные конструкции (if-else, switch-case)

Поделиться
HTML-код
  • Опубликовано: 4 фев 2025

Комментарии • 243

  • @melnikx
    @melnikx 2 года назад +110

    У программы настолько дружелюбный интерфейс, что когда я пытался сравнить значения двух строк через ==, не досмотрев это видео, она сама предложила мне equals (когда я ткнул в этот символ) и все заработало. Приятно удивлен)

  • @ВалерияЛогинова-н5у
    @ВалерияЛогинова-н5у 11 месяцев назад +6

    Лучший человек на планете! Настолько круто объяснено, что хочется прыгать и танцевать. СПАСИБО!

  • @canqtop1gg34
    @canqtop1gg34 8 месяцев назад +72

    Для тех, кто не понял по поводу "скрытого символа"
    Параметр nextLine() считывает всю строку, т.е всю информацию, которую вы ввели. Соответственно, когда вы нажимаете кнопку Enter для отправки своего сообщения, вводится "скрытый" символ, который на самом деле тот самый Enter, который вы нажали (грубо говоря, для java это как ввести
    , чтобы перейти на следующую строку)
    Вы можете использовать параметр next(), но, в отличии от nextLine(), он будет брать лишь одно первое слово, которое вы написали в указанную строку (для калькулятора самое то)
    Надеюсь правильно и понятно объяснил!

    • @_Albula_
      @_Albula_ 5 месяцев назад +4

      Увы, в упор так и не понял про скрытый символ. А именно, почему это действует на предпоследней операции? Ведь этот же скрытый символ мы получаем уже в первой операции и после нее происходит правильная обработка второй операции...

    • @maskin_sin
      @maskin_sin 4 месяца назад +1

      Спасиб, разьяснил

    • @maskin_sin
      @maskin_sin 4 месяца назад +2

      ​@@_Albula_как я понял потому что в начале int идёт считывает значение, а там где проблема было string(вроде как строка переводится) и поэтому он там полностью строку брал, а выше нет😊

    • @thekingofsouls3953
      @thekingofsouls3953 4 месяца назад

      Я не совсем понимаю почему он во время работы скипает у меня если я пишу именно nextLine, я могу успеть туда что то написать но прога сломя голову летит завершать работу

    • @andreskillka7179
      @andreskillka7179 3 месяца назад

      Сам недавно, догадался убрать Line и просто прописать scanner.next(), также добавлю что вместо String можно использовать char пример char action = scanner.next().charAt(0); для калькулятора также актуально и никаких проблем, единственное в case надо прописывать не "двойные кавычки", а 'одинарные'

  • @ЭдуардПишенбаев
    @ЭдуардПишенбаев Год назад +34

    Только начал изучать Java и все что связано с программированием. Видео очень понятные, автору спасибо огромнейшее. Нравится всегда забегать наперед, ставить видео на паузу и пробовать сделать предложенное самостоятельно, поэтому часто возникают ошибки, которые автор объясняет в следующую же секунду, это показывает насколько грамотно ведется обучение. Однозначно лайк!
    П.С. В конце наверное нужно было использовать float а не int, так как деление некорректно отображается в нынешнем калькуляторе)

    • @YuriiShanhin
      @YuriiShanhin Год назад +2

      Да, тоже так подумал, и пробовал подставить float, делит нормально. Но когда пробовал вводить числа с точкой, то выдавало ошибку, пока не разобрался почему и как исправить(((

    • @DeeMoon
      @DeeMoon 3 месяца назад

      Ты продолжил учиться?))
      интересно, что случилось за год

    • @slayderom
      @slayderom 2 месяца назад

      @@YuriiShanhin Приветствую, пробовали не точку, а запятую ставить в число ?

  • @niyazbatyrkanov484
    @niyazbatyrkanov484 2 года назад +21

    if else очень хорошо помогает решить задачи над арифметическими операциями . В данный момент я сейчас изучаю язык Java и мне очень тяжело с этими операциями особенно поразрядными (логическими операциями и операции сдвига, логическое умножение и т.д.) у меня итак хромает математика мне тяжело подбирать какую то правильную формулу под эти операции и решить задачи(что true,что false). Я не очень хорошо разбираюсь в этой сфере, многие говорили , что математика в изучении программирования не нужна, а вот и фигушки для меня Гуманитария она нужна , но я не сдаюсь , параллельно помимо платных курсов и мне помогают ваши видео курсы . Я очень вам благодарен. Надеюсь выгорания не будет и все таки изучу программирование!

    • @kingyo1296
      @kingyo1296 2 года назад +5

      Ты молодец. Тоже всегда были проблемы с математикой, хотя считать любила.
      Чем больше мы занимаемся, тем больше оно закрепляется, и в конце-концов всё будет получаться.
      Тем более теперь я реально вижу где математика мне пригождается, из-за этого учить легче, тк есть мотивация и смысл. Которого в школе я не видела.

    • @FeeLZ-iw4jf
      @FeeLZ-iw4jf Год назад +2

      Ну как успехи?

    • @Whyenen
      @Whyenen 9 месяцев назад

      Как успехи сегодня?

    • @NeonDota2
      @NeonDota2 5 месяцев назад

      Выучил || выгорел ?

    • @ivan4243
      @ivan4243 Месяц назад

      Живой вообще?

  • @Morozinini
    @Morozinini Год назад +10

    Как же здоровы Вы объясняете ! По человечески! спасибооооооо!

  • @Razor-creating
    @Razor-creating 8 месяцев назад

    Урок крутой! Спасибо автору за труд!
    В конце получается, что на ноль делить нельзя только от num2, но num1 свободно делит на ноль, поэтому как ДЗ для начинающих "Сделайте так, чтобы на ноль нельзя было делить как в значении num1, так и в значении num2"😊

  • @medicdoma
    @medicdoma 2 года назад +17

    Спасибо, что так разбираете, по-человечьи, респект

  • @ArtsemLayushka
    @ArtsemLayushka 3 года назад +55

    А можно подробнее по поводу скрытого символа? Откуда он и как он появляется, почему только перед последним вводом он срабатывает?

    • @kanty2178
      @kanty2178 Год назад +2

      Особенность сканера, так как он считает всю линию то и когда мы нажимаем на Enter то он считает ее как endl ну или /n и передается след элементу

  • @Reset-k7w
    @Reset-k7w 5 месяцев назад

    Прикольно!
    Ещё ради интереса я переставил "действие" между "вводом" и получилась отличная последовательность как в калькуляторе))

  • @qwstay912
    @qwstay912 2 года назад +2

    Смотрю,учусь,кайфую!
    😃

  • @eNvedimka
    @eNvedimka Год назад +1

    33:36 ... я ж казав під попереднім відео, що ця Java трохи тупувата 😄)). Вона мене, час від часу, просто виводить з себе )).
    Дякую за відео-уроки.

    • @sn1kers970
      @sn1kers970 Год назад

      типикал хохол

  • @leomark7281
    @leomark7281 4 месяца назад

    Хороший чел, приятно слушать 😊

  • @srjp4777
    @srjp4777 3 года назад +25

    Классные уроки, момент с особенностью ввода в конце слегка удивил)

    • @RUSSIANVILLAGER
      @RUSSIANVILLAGER 3 года назад +8

      Можно просто использовать не nextLine(); , а next();
      чекай)

    • @bohdanbrazhynenko9684
      @bohdanbrazhynenko9684 3 года назад

      @@RUSSIANVILLAGER next() это типа только для одного символа? И тогда такой проблемы как на видео не будет?

    • @naru5177
      @naru5177 2 года назад

      @@RUSSIANVILLAGER вау реально, а для Char что можно использовать?

    • @OkupAiAbai
      @OkupAiAbai 2 года назад

      @@naru5177 для чар: scan.next().charAt(0)

  • @kibenito
    @kibenito Год назад +1

    Всем привет! 6-й урок, полет нормальный! Параллельно купил по скидке курс на JavaRush. Пишу чтобы потом через год посмотреть, что будет )

    • @WARPTPSELL
      @WARPTPSELL Год назад

      Тоже думаю,покупать или нет.Как курс?

    • @zetochka9952
      @zetochka9952 Год назад

      как дела?

    • @levik_12
      @levik_12 4 месяца назад

      Ну что, как успехи?

  • @Crabchelo
    @Crabchelo Год назад +4

    Даже спустя год он прекрасен.

  • @ДАНИЭЛЖУНУСОВ
    @ДАНИЭЛЖУНУСОВ 2 года назад +2

    Я тебя так долго искал)))

  • @f_floren
    @f_floren 2 года назад +2

    Спасибо вам! Я уже начинаю потихоньку понимать код и даже написал свою очень простую программку

    • @skullcrusher4185
      @skullcrusher4185 Год назад

      Привет! ну как у тебя с джавой? прошло уже 8 месяцев, а я только её учу

    • @dotawhueta
      @dotawhueta Год назад

      @@skullcrusher4185 привет, че освоил за 3 месяца
      я только учу ее

    • @skullcrusher4185
      @skullcrusher4185 Год назад

      @@dotawhueta хаха, я просмотрел курс. А дальше мне показалось сложно, но щас я перешёл на более легче язык - Питон, вот с ним у меня всё круто

  • @astroboy2771
    @astroboy2771 2 года назад +7

    Классный и качественный курс👍

  • @АлександрВорожбитов-с2я

    супер, спасибо, буду смотреть на работе!

  • @tarasbaklan
    @tarasbaklan Год назад

    Механическая ошибка в коде. При копировании везде поставили + res. На качество подачи материала не влияет, поэтому ставлю лайк 🙂

  • @rainwonarchive
    @rainwonarchive 2 года назад

    Огромное спасибо. Пол года не решался с питона перейти на другой язык.

  • @rendok6984
    @rendok6984 9 месяцев назад

    Спасибо, очень доступно обьяснено!

  • @templatexd6326
    @templatexd6326 Год назад +5

    В Java оператор == сравнивает ссылки на объекты, а не их содержимое. Поэтому чтобы сравнивать строки по содержимому, лучше следует использовать метод equals() или equalsIgnoreCase().

  • @saymade
    @saymade 10 месяцев назад

    Спасибо. Просто спасибо...

  • @lilaya_
    @lilaya_ 4 дня назад

    Спасибо 🧡🧡🧡

  • @GorN_Rebel
    @GorN_Rebel 2 года назад +1

    Хорошее и подробное видео. Комментарии тоже порадовали )

  • @RUSSIANVILLAGER
    @RUSSIANVILLAGER 3 года назад +31

    По поводу концовки - ввод запрашивать можно с помощью next(); и ошибка исчезнет, чем писать лишнюю строку кода)

    • @ilyakudinov2359
      @ilyakudinov2359 3 года назад +3

      Здравствуйте, покажите, пожалуйста, подробнее, как именно стоило написать метод 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
      @germak 3 года назад +19

      @@ilyakudinov2359
      Before:
      System.out.print("Действие: ");
      String action = scanner.nextLine();
      action = scanner.nextLine();
      After:
      System.out.print("Действие: ");
      String action = scanner.next();

    • @Kaifun1
      @Kaifun1 2 года назад +4

      @@germak Так как берем всего один символ, то данная строка выглядела бы намного лучше.
      System.out.print("Действие: ");
      char operation = scan.next().charAt(0);

    • @jewaepufyigwejfygasdipufe7537
      @jewaepufyigwejfygasdipufe7537 2 года назад +1

      @@Kaifun1 .charAt(0); можете обяснить для чего это? только начал и не совсем понимаю

    • @robot-alesha
      @robot-alesha 2 года назад

      @@jewaepufyigwejfygasdipufe7537 один символ можно ввести только а не несколько

  • @oksanavaleryevna
    @oksanavaleryevna 2 года назад +6

    О скрытом символе можно подробнее? как где почему)

  • @rKvinty
    @rKvinty Год назад

    Честно, C# чутьли не слово в слово такой же 🤯

  • @anyazenevich7397
    @anyazenevich7397 3 года назад +117

    элсе режет слух))) и вы так в прошлых видео хорошо объясняли про типы данных, что int - это integer, то есть целое число. Почему бы в этом видео не дать перевод конструкции if else? Мне кажется, так намного понятнее ее суть. If - это если, else - это иначе. То есть если условие выполняется, код такой, иначе (то бишь если не выполняется) - код другой. Тогда и конструкцию else if можно представить не в виде отдельного оператора, а как условие внутри условия. То есть выходит так: если условие выполняется, делаем код1, иначе - следующее условие. Если это следующее условие выполняется, то делаем код 2, иначе - код 3.

    • @saint5294
      @saint5294 2 года назад +25

      Я думаю человеку который не знает перевода else имеет нулевой уровень английского и ему стоит для начало подтянуть его

    • @ИгорьЯхонтович
      @ИгорьЯхонтович 2 года назад +12

      @@saint5294 а кому-то и русский подтянуть не мешало бы)

    • @saint5294
      @saint5294 2 года назад

      @@ИгорьЯхонтович живу не в россий сдаю экзамены на английском , нет смысла изучать этот язык фашистов, даже стыдно как то что я его понимаю

    • @NickolasBerdzenishvili
      @NickolasBerdzenishvili Год назад +7

      Ноборот, не надо переводить. Вы понимаете, что большая часть информации в интернете на английском? Вы завтра захотите почитать какую-то книгу по программированию у которой нет перевода , откроете и ничего не поймете, потому что там не будет никаких "Если" и "Иначе". Да и в целом, если вы собираетесь программировать учите английский, иначе и работу найти будет сложно.
      А автору видео стоит поработать над произношением. Не элсе а Элс.

    • @СергейКнязев-в5ъ
      @СергейКнязев-в5ъ Год назад +1

      @@NickolasBerdzenishvili а тебе пора найти работу, в отличие от автора

  • @Akat-z6c
    @Akat-z6c Год назад

    Братик ты лучший

  • @beqatokhadze5120
    @beqatokhadze5120 Год назад +1

    здравствуйте . в первую очеред огромное спасибо. дальше хочу спросить. в случае елс иф получается что мы неким оброзом связымаем значения инт с значением булин? конкретнее в нашем случае получается что изхезкар содержит некое значение а=15 б=15? тоесть изхезкар = а>=б ?

  • @МаратМастаков
    @МаратМастаков 2 года назад +21

    А ещё можно поменять тип данных с int на float и произойдёт чудо математики

    • @zipen4983
      @zipen4983 Год назад

      да ваще копец копиц копцы

    • @rillimnava354
      @rillimnava354 Год назад

      помжно просто при делении прописать res = {float) num1/num2; И тогда ненужно будет менять тип данных при инициализации переменных

  • @OlgaSavastova
    @OlgaSavastova 3 года назад +5

    про скрытый символ не понятно, почему тогда в случае переменных типа данных int не прописывали дополнительно int = scanner.nextLine(); ? или это только для типа данных String?

    • @ilyakudinov2359
      @ilyakudinov2359 3 года назад +1

      Если вы ввели, например 5, то на самом деле там будет еще символ перевода строки, например "5
      ", кроме того, .nextInt считает "5", а символ перевода останется, его как раз и получите при вызове nextLine.
      Это конечно, справедливо, но на ваш вопрос не отвечает, сам над этим сейчас бьюсь, если вы нашли объяснение - прошу написать.

  • @applejuice5488
    @applejuice5488 Год назад +3

    Если у кого то возникает проблема с кодировкой русского текста. Решение: В 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 затем перекрестится трижды по православному тремя перстами приговаривая Изыдь бесовщина дьявольская. (последнее обязательно иначе не получится)

    • @YYz12
      @YYz12 Год назад

      герой♥

  • @Real_Time_TV
    @Real_Time_TV 2 года назад +4

    Есть некоторая загвоздка благодаря которой 1/2 будет равно 0, так как дробную часть консольное приложение не выведет. Для более идеального результата можно поменять одну из переменных на тип данных float, тогда результат будет верным
    System.out.print("Введите 2 число: ");
    float num2 = scanner.nextFloat();

    • @drubic8434
      @drubic8434 2 года назад

      Добрый день, а нельзя просто сделать float res;???

    • @wladeg2827
      @wladeg2827 2 года назад

      @@drubic8434 интересный вопрос, надо пробовать что получится

  • @sharmlow5750
    @sharmlow5750 Год назад +1

    Не уверен насколько это правильно, но я думаю правильнее было бы в конце ролика использовать очистку буфера, нежели снова открыть поток для ввода string, хоть это и сложнее новичку(поправьте если что-то неправильно написал)

  • @AibekDandaev
    @AibekDandaev 2 года назад +1

    по поводу концовки
    nextLine приписывает к концу введенной с клавиатуры строки символов или даже 1го символа знак перевода строки
    или %n который и считывается последующими сканнерами

    • @wladeg2827
      @wladeg2827 2 года назад

      соответственно next() не добавляет в конце строки символа перевода строки?

  • @beqatokhadze5120
    @beqatokhadze5120 Год назад +1

    или просто итог "да верно" будет работать только в тех случаях если будут верно заданы значениа булин или инт?

  • @izmailjuda8614
    @izmailjuda8614 3 года назад +6

    Недосмотрев ролик полез делать калькулятор на if else и застрял на моментах с невидимым символом и с записью типа (role == "Admin"). Чесал репу пока не досмотрел до конца)) Хорошо что такие моменты освещаются на практических примерах. ибо самому догадаться что после числового типа данных в строку автоматом проставляется невидимый символ просто нереально. А то программа ошибку не выдает, а просто игнорит строку

    • @ЕленаЗубенко-в7и
      @ЕленаЗубенко-в7и 3 года назад

      Спасибо 🙏🏻 очень классно объясняете !

    • @naru5177
      @naru5177 2 года назад

      то же самое, но с невидимым символом я разобралась: заново вписала Scanner scam=new Scanner(System.in); только scan на scam поменяла. А условие у меня так и не заработало пока не досмотрела до equals
      не поняла только насчет Char, у него есть свой next или как вообще

  • @Maryinb
    @Maryinb Месяц назад

    Thank You

  • @forsidekhan5405
    @forsidekhan5405 10 месяцев назад +2

    У меня возник вопрос:
    Есть ли в IntelliJ IDEA что-то вроде глобального блокнота, который отображается в программе, но с функцией скрывать его, менять размер, шрифт и т.д.? Т.е. он не имеет отношения к проекту и коду соответственно, а просто как доп. функция для заметок?

    • @br1ckx
      @br1ckx 9 месяцев назад

      Нет.

  • @LAZIO14
    @LAZIO14 Год назад

    Супер! Спасибо

  • @Norules_OfficialChannel
    @Norules_OfficialChannel Год назад

    Очень круто!

  • @isizenking1937
    @isizenking1937 Год назад +5

    Сам себе задание придумал . Если ввести логин и пароль . То заработает калькулятор , если нет то идешь лесом

  • @ДенисБелый-л7ь
    @ДенисБелый-л7ь 3 года назад

    полезная информация 👍

  • @OkupAiAbai
    @OkupAiAbai 2 года назад

    за элсе лайк!

  • @ИльяФильченков-к2ъ
    @ИльяФильченков-к2ъ 3 года назад

    Все понравилось.

  • @ГалинаБ-к6е
    @ГалинаБ-к6е 8 месяцев назад +1

    Велике ДЯКУЮ !!!

  • @Ko79rA
    @Ko79rA 2 года назад +1

    Доброго времени суток! Подскажите, а можно ли использовать switch-case для двойных массивов? В частности - есть 12 месяцев и есть дни в каждом месяце (для удобства в каждом пусть будет по 30 дней). Через консоль пользователь вводит данные (например траты) за каждый отдельный день. Нужно найти сумму трат за определенный месяц.

  • @unknownauthor6734
    @unknownauthor6734 13 дней назад

    Место int, сразу лучше писать float, как в прошлом занятии, иначе делиться будет только целыми числами

  • @forsidekhan5405
    @forsidekhan5405 10 месяцев назад +2

    switch (action) {
    - выдавало постоянную ошибку, сверял код несколько раз... не работает. Решил автоматом пофиксить, весь код изменила сама программа на
    if ("+".equals(action))
    Заработало без проблем, но код изменился.

  • @redrickshuhart4444
    @redrickshuhart4444 2 года назад

    Как говорил мой Дед.... Проверок много не бывает! А дальше не помню, очухивался с шишкой на голове =)

  • @mazangito
    @mazangito 2 года назад +2

    Очень нравятся ваши уроки, практически всё улавливаю, есть у меня только одна проблема со IDEA постоянно слетает русский язык, пробую всё , но результат всегда один слетает при новом запуске (((

    • @gurgafurga4112
      @gurgafurga4112 2 года назад

      аналогично, как исправить?

    • @naru5177
      @naru5177 2 года назад

      у меня IDEA вообще не открылся, пишу на другой онлайн среде

  • @ажурнаянакидка
    @ажурнаянакидка Год назад +2

    я не совсем понял что за ошибка с невидимым символом когда создавали калькулятор. можете кто нибудь по подробнее объяснить?

  • @ФедяБелкин-п5ы
    @ФедяБелкин-п5ы 2 года назад +1

    Привет! Есть вопрос:
    Последний пример (с калькулятором) на gdk 19 не запускается, выдает такую ошибку: Incompatible types. Found: 'java.lang.String', required: 'byte, char, short or int'
    Запускал на gdk 16 - все получилось.
    В чем проблема? Подскажите пожалуйста.

    • @l1m0n41k0iq
      @l1m0n41k0iq 2 года назад

      надо место switch юзать if

    • @kotyarych99
      @kotyarych99 Год назад

      Аналогично, только тренируюсь в Eclipse (хардкор, это как ручная коробка передач и автомат по сравнению с Idea). Eclipse как решение предлагает сменить JDK на 17, а в 19 в доках указан значительно меньший список поддерживаемых типов переменных для оператора switch-case. Пришлось нумеровать действия, чтобы задействовать пример из урока

    • @kotyarych99
      @kotyarych99 Год назад

      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....

  • @Anatoli-bq1pe
    @Anatoli-bq1pe 2 года назад

    Благодарю!

  • @ДмитрийОдеса
    @ДмитрийОдеса 2 года назад

    Добрый день. А в операторе case строки можно сравнивать без использования оператора equals? можно объяснить в чём разница по сравнению с оператором If else.

  • @2TIME_2MACHINE
    @2TIME_2MACHINE Год назад

    код абсолютно такой же но когда все ввел правильно все равно выводит фразу как тебя зовут, ошибок нет 2 часа проверял все. Может ли быть это связано с тем что я испоьзую Java 8?? подскажите пожалуйста

  • @kibenito
    @kibenito Год назад

    какое сочетание клавиш нажимается, когда копируется и вставляется ниже сразу по 2-3 строчки кода? Например, как на 27:29 минуте

    • @sepe6a
      @sepe6a Год назад +1

      ctrl + d будучи на строке кода копирует ее и создает такую же ниже

  • @YanamiBeatz
    @YanamiBeatz 2 года назад +1

    Подскажите пожалуйста, как можно решить такую проблему...При выводе в консоли русских слов/букв появляются знаки вопроса, как будто он не читает их, хотя в коде все нормально отображается, в настройках программы указанна кодировка utf-8(везде), пробовал другие, не помогло, работаю в программе eclipse

    • @russian.stoicism
      @russian.stoicism 2 года назад

      Тоже с этой проблемой столкнулся, так и не понял как решить

    • @YanamiBeatz
      @YanamiBeatz 2 года назад

      @@russian.stoicism Сергей Немчинский сказал что эта одна из трех самых сложных проблем в сфере, на нее есть много статей, но я к сожалению так и ничего не нашел, советовали не останавливаться на этом вопросе так как код в 100 проц случаях будет писать на английском языке, но кстати я проверял это в Idea, там все работает, если в настройках указать везде utf-8

    • @YanamiBeatz
      @YanamiBeatz 2 года назад +1

      @Ввппа Ццкап Действительно помогло, пришлось установить Jdk 17, затем указать его в настройках при создании проекта чтобы он как по дефолту был, и теперь при компиляции все нормально выводит, спасибо огромное за помощь 💪

    • @awenn2015
      @awenn2015 2 года назад

      Задолбали, гуглить идите на не спамьте в комментах своими глупыми вопросами

    • @МаркГромов-р9з
      @МаркГромов-р9з 2 года назад

      @@YanamiBeatz мне помог JDK 17. Причем, если я менял кодировку на UTF-8 или стандартную, то с первого раза кириллица выводилась, а на второй запуск кода уже нет.

  • @artemzaitsev7574
    @artemzaitsev7574 Год назад

    Добрый День! Подскажите, пожалуйста, почему у Меня срабатывает компилятор на первом же условии, если у Меня стоит совершенно другое условие и последнее 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("Значение не верно!");}

    • @ern3st0_04
      @ern3st0_04 Год назад +1

      В строке
      } else if (sym1 == sym2); {
      лишняя " ; " после скобок

    • @artemzaitsev7574
      @artemzaitsev7574 Год назад

      @@ern3st0_04 Благодарю вас за ответ и помощь!

  • @user-v707
    @user-v707 2 года назад

    Здравствуйте. У меня NetBeans IDE 8.1 подсказки как у вас не показывает. Где включить?

  • @rubicon-1291
    @rubicon-1291 Год назад

    А теперь switch не поддерживает строки? В последнем задании всплывает ошибка при запуске

  • @friedshrimp5329
    @friedshrimp5329 2 года назад +1

    Интересно слушать лекции, спасибо большое)))Но очень быстро говорите))))Делаю перерывы, мозгу тяжело обрабатывать так быстро новую информацию)

  • @sopubg_1532
    @sopubg_1532 2 года назад +1

    Слушай, такая проблема, я когда пишу System.out.print он выделяет слово print как ошибку, скажи что делать пж

    • @zig5196
      @zig5196 2 года назад

      Ну гугл в помощь а возможно ты скобки не поставил

  • @kovalysha
    @kovalysha 3 месяца назад

    Вопрос, мне это приложение предлагает какую-то подписку за 200 баксов,но я же качал бесплатную версию,как мне убрать это окно с предложением ведь я когда закрываю его прога также закрывается ?

  • @jenya31071995
    @jenya31071995 11 месяцев назад

    У меня не знаю почему но не хочет работать через switch, выдаёт incompatible types и предлагает перейти на if и else. В чём причина?

  • @TOP_SET_
    @TOP_SET_ 2 года назад

    В общем со свичем не получилось, прога предложила все поменять на if, сама все перестроила и код заработал. Короче вывод такой, учиться Java в этой среде это все равно что учиться водить на Tesla с автопилотом.

  • @ИванФиллов-э9к
    @ИванФиллов-э9к 2 года назад +1

    Почему всегда условие подсвечивает желтым цветом на фоне условия? Как будто это ошибка

  • @ИванМаксимов-м1я
    @ИванМаксимов-м1я 2 года назад

    В калькуляторе "+" когда ставишь знак в ковычки выдает ошибку, как исправить?

  • @madfrant
    @madfrant 11 месяцев назад

    при создании калькулятора горит красным слово RES , может в новых версиях теперь по другому както

  • @ОлегСемецкий
    @ОлегСемецкий 2 года назад

    Ребята!! Использую тип данных double и все равно не могу вводить дробные числа, программа не работает! В чем может быть проблема?

  • @АртёмЧерепов-о9ц
    @АртёмЧерепов-о9ц 2 года назад +2

    Помогите!!!
    Когда пишу что-то в "sout" на русском он не может определить что я написал, а когда на английском он это выводит

    • @АртёмЧерепов-о9ц
      @АртёмЧерепов-о9ц 2 года назад

      Допустим напишу
      System.out.print("Hello "); он это выведет как "Hello "
      А если напишу
      System.out.print("Привет "); он это выведет как "?????? "
      Подскажите пожалуйста что делать... (P.S. использую IntelliJ IDEA Community Edition 2021.3.3)

    • @crazylemmy
      @crazylemmy 2 года назад

      @@АртёмЧерепов-о9ц что-то с кодировкой. Справа внизу (где стетусбар) попробуй выбрать другую кодировку, например UTF-8, или windows-1251

  • @niru4ep
    @niru4ep 2 года назад

    Подскажите, если: scanner.nextInt(); для цифр, а ввести в букву выдает ошибку InputMismatchException (не соответствие токена).
    Как этого избежать? Чтобы при введении буквы программа не крашилась, точнее как сделать проверку что введенные данный соответствуют цифрам? пробовал hasNextInt() но после него остальной код не видит переменной..
    Только учусь если что..

    • @NickolasBerdzenishvili
      @NickolasBerdzenishvili Год назад

      Да, в Джаве не существует scannet.nextChar. Используют input.next().charAt(0);. Сам только учусь, по этому погуглите сами )

  • @yujostar1537
    @yujostar1537 Год назад

    Следующие уроки еще не смотрел, но есть вопрос. Что если в этой конструкции написать 21 / 2 ? Подумал я и проверил пишет целое число, поменял тип данных на флот, после чего все работало, но задумался а если пользователь захочет написать в калькуляторе не целое число а дробное и оно уже не работало, хотя тип данных совпадал. в чем ошибка?

    • @rKvinty
      @rKvinty Год назад

      А что за ошибку выдаëт?

  • @pavelkohanov8870
    @pavelkohanov8870 3 года назад

    Спасибо

  • @Volodyanya
    @Volodyanya 9 месяцев назад

    А как этот калькулятор закольцевать? Чтоб можно было снова делать вычисления. Вернуться к "введите первое число"

    • @Penhavor
      @Penhavor 7 месяцев назад

      через циклы

  • @Miritashchyan
    @Miritashchyan Год назад

    у меня всё корректно заработало без equals, хотя компилятор в начале попросил создать отдельную переменную для role

  • @applejuice5488
    @applejuice5488 Год назад +1

    Если у кого то возникает проблема с командой switch (action). Решение: Ctrl+Shift+Alt+S /Modules/Sources/Language level/ выбрать 7-Diamonds, ARM, multi-cash etc

  • @kingyo1296
    @kingyo1296 2 года назад

    Огонь

  • @АлександрЮргелевич-х2к

    String action = scan.nextLine();
    action = scan.nextLine();
    С чарами) дублировать не пришлось
    char action = scan.next().charAt(0);

  • @chessx6847
    @chessx6847 Год назад +1

    Про скрытый символ не вполне понял

  • @williamimaginary8137
    @williamimaginary8137 2 года назад

    У меня scanner в scanner.nextLine горел красным. Я его сократил до scan.nextLine и оно заработало, но res тоже горит красным и выдаёт ошибку. Придётся искать в инете

  • @ТоллгиеПизашотьки

    34:40 я конечно ничего не говорю, но в питоне такой калькулятор делается в 2 строчки

  • @vanhunter3864
    @vanhunter3864 Год назад

    у меня почему то слово action после switch с ошибкой красными буквами обозначает

    • @АртёмСмирнов-ю6у3у
      @АртёмСмирнов-ю6у3у Год назад

      такая же фигня. Ты понял в чем дело?

    • @applejuice5488
      @applejuice5488 Год назад

      @hessi10 Дело не в коде, у меня та же ерунда но мой код сработал корректно на другом компе.

  • @Tvorogok1
    @Tvorogok1 Год назад

    Почему когда пишу switch (action), показывает ошибку?

    • @applejuice5488
      @applejuice5488 Год назад

      Такая же фигня. Отправил приятелю код и о чудо у него всё работает. Было предложено сменить SDK c 21 на 17 версию. Начал проект заново но что то не помогло. Вы разобрались с этим ?

  • @НикитаКиреев-э8щ
    @НикитаКиреев-э8щ 2 месяца назад

    У меня прога выбивала ошибку и потом сама поменя
    res = num + num 1;
    Почему так???

    • @Clowdy-b4b
      @Clowdy-b4b 2 месяца назад

      так нельзя. надо именно Int res = num+num1;

  • @artyr8892
    @artyr8892 Год назад

    Не могу заменить в этом коде int на float дает ошибку, может кто подскажет в чем дело?

  • @ЕгорЦымбалов-я1ы
    @ЕгорЦымбалов-я1ы 7 месяцев назад

    а если ввести вместо int поставить float num1 = scanner.nextInt(); float num2 = scanner.nextInt(); float res; то еще и калькулятор будет делить нормально. то есть 4/5=0.8 а не как в данном случае показывает 0 без запятых.

  • @denis971008
    @denis971008 9 месяцев назад

    Пойду свечку в церковь поставлю за здоровье автора, лучше объяснений не слышал.🥲
    В данный момент прохожу платный курс по Java и есть с чем сравнивать.

  • @Garry_na_Ferarry
    @Garry_na_Ferarry 2 года назад

    Когда выводишь if(num2==0) - выделяется коричневым и просто игнорируется , с чем может быть связано кто подскажет?

  • @ilyakudinov2359
    @ilyakudinov2359 3 года назад

    Здравствуйте.
    *** ***
    ВОПРОС:
    *** ***
    В чём ошибся в расписывании кода по шагам?
    Я читал советы, как исправить код,
    но хочу понимать, почему этот код не работает,
    а не просто лишь бы работало скопировать рабочий код.
    *** ***
    Как я понимаю процесс выполнения этого кода по шагам:
    *** ***
    0) создаётся объект scanner
    1) В консоли метод print пишет сообщение "Введите 1 число: "
    2) Перевод строки не указывается
    3) выполняется метод scaner
    курсор в консоли моргает, приглашая ввести число
    4) пользователь вводит число (например, 5) и нажимает enter
    получается, пользователь вводит 5/n
    а вовсе не просто 5
    этот важный момент я понимаю
    5) метод scanner читает введённые символы до знака перевода строки, т.е. до /n
    6) прочитанное значение 5 присваивается переменной num1
    7) метод print выполняет перенос строки, т.к. каретка (курсор) остановился перед знаком /n
    и печатает, что ему велит код "Введите 2 число: "
    перенос строки не требуется,
    курсор стоит в конце пустой строки без символа переноса строки
    8) выполняется метод scaner
    курсор в консоли моргает, приглашая ввести число
    9) пользователь вводит число (например, 8) и нажимает enter
    получается, пользователь вводит 8/n
    10) метод scanner читает введённые символы до знака перевода строки, т.е. до /n
    11) прочитанное значение 8 присваивается переменной num2
    12) объявляется переменная res
    13) метод print выполняет перенос строки, т.к. каретка (курсор) остановился перед знаком /n
    и печатает, что ему велит код "Действие: "
    перенос строки не требуется,
    курсор стоит в конце пустой строки без символа переноса строки
    14) выполняется метод scaner
    курсор в консоли моргает, приглашая ввести действие
    15) пользователь вводит действие (например, +) и нажимает enter
    получается, пользователь вводит +/n
    *** ***
    КОД:
    *** ***
    import java.util.Scanner;
    public class Main {
    public static void main(String[] args) {
    // Условные конструкции switch-case
    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();
    switch (action) {
    case "+":
    res = num1 + num2;
    System.out.println("Результат: " + res);
    break;
    case "-":
    res = num1 - num2;
    System.out.println("Результат: " + res);
    break;
    case "*":
    res = num1 * num2;
    System.out.println("Результат: " + res);
    break;
    case "/":
    if(num2 == 0)
    System.out.println("Error");
    else {
    res = num1 / num2;
    System.out.println("Результат: " + res);
    }
    break;
    default:
    System.out.println("Вы что-то не то ввели.");
    }
    }
    }

  • @abdieveldan
    @abdieveldan Год назад

    Что такое тобишь?

  • @rustamkanamatov
    @rustamkanamatov Год назад +2

    Про случайный невидимый символ не понял, слишком быстро и коротко объяснил.

  • @лчлчлслслвдлслслвл
    @лчлчлслслвдлслслвл 3 месяца назад

    это не случайный невидимый символ. это знак переноса
    который появляется после нажатия на ентер и сохраняется в буфере. просто некстинт игнорит .... в общем почитайте ))) я плохо умею объяснять )))))

  • @Kifa00
    @Kifa00 2 месяца назад

    Если кому пригодится.. У меня была проблема с калькулятором... Switch (action) выдавала ошибку.. Нажмите F4и поменяйте в разделе language версию на более старшую..

  • @АлександрВеселков-г9д

    else произносится [els]

  • @RUSSIANVILLAGER
    @RUSSIANVILLAGER 3 года назад +1

    Корректна ли запись if (role == "Admin") ? Не правильнее ли использовать if (role.equals("Admin")) ? тк мы сравниваем строки, а не числа. Поправьте меня, если не прав.
    UPD: спросил недосмотрев ролик, все понял)

    • @abobus3856
      @abobus3856 3 года назад

      Я начал применять раньше чем досмотрел и у меня ничего не вышло. Пришлось лезть в интернет чтобы узнать

    • @__-pq1nt
      @__-pq1nt 2 года назад

      забудь про это. Тебе сейчас это не нужно. Но суть в ссылках