0

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


    System.out.println("----------------------Такого файла не существует! Создать? (Введите Да или Нет)");

Сам код:


    if(f.exists() == false)
            {
                System.out.println("----------------------Такого файла не существует! Создать? (Введите Да или Нет)");
                String Variable = scanner.nextLine();
                Variable = Variable.toLowerCase();
                if(Variable.equals("да"))
                {
                    f.createNewFile();
                    FileWriter writer = new FileWriter(f);
                String text = "";
                System.out.println("Введите данные для записи в файл: ");
                text = scanner.next();
                writer.write(text);
                writer.close();
            }

В чем заключается проблема в остановке программы?

1 Answers1

-1

Ошибку нашел. Надо было написать scanner.next(), а не scanner.nextLine(). Но теперь возникла другая ошибка. Программа останавливается когда доходит до if. В чем теперь ошибка? :)

  • https://ru.stackoverflow.com/a/526914/191482, https://ru.stackoverflow.com/a/499688/191482, https://ru.stackoverflow.com/search?q=nextLine – Алексей Шиманский Jan 24 '21 at 20:10
  • можетifне выполняется например Вы получайте да\n, проверьте длину строки: System.out.println(Variable.length); и еще проверьте условие: System.out.println(Variable.equals("да")) – Agzam Jan 24 '21 at 20:19
  • @Agzam4 нет. там проблема в next и nextLine. инфа 100% – Алексей Шиманский Jan 24 '21 at 20:44
  • В первом сообщении у вас 'да' с большой буквы, а в условии с маленькой. Если хотите, можете использовать метод equalsIgnoreCase() – Mark Cain Jan 24 '21 at 23:07