@Dmitry-Mayorov

Почему Java не сравнивает символы?

Не могу вывести перенос строки из-за того, что условие неравно... Т.е при каждом символе (принадлежит к типу String[]) "~" должен происходить перенос строки, для этого я разбиваю строку на символы (принадлежит к типу String[]), каждый символ (принадлежит к типу String[]) сравнивается и если он не похож на "~", то переноса строки нет, а если похож то происходит перенос. Так вот, вместо того, чтобы перенести строку, программы выводит просто символ (принадлежит к типу String) "~".
FileReader fr = new FileReader("Desktop\\"+text[2]);
                  Scanner read_text_file = new Scanner(fr);
                  String[] str = read_text_file.nextLine().split("");
                  System.out.println("|==========================*");
                  fr.close();
                  for(int i = 0; i < str.length;i++){
                     if(str[i] == "~"){
                        System.out.println("");
                     }else{
                        System.out.print(str[i]);
                     }
                  }
                  System.out.println("");
                  System.out.println("|==========================*");
  • Вопрос задан
  • 89 просмотров
Решения вопроса 1
xez
@xez Куратор тега Java
Senior Junior Roo
Потому что сравнивать со строкой нужно через метод .equals.
Вот так заработает:
if ("~".equals(str[i])){
                System.out.println("");
            }
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Emphasoft Санкт-Петербург
от 200 000 до 400 000 ₽
от 140 000 до 230 000 ₽
от 150 000 до 400 000 ₽
28 февр. 2021, в 19:43
2000 руб./за проект
28 февр. 2021, в 19:34
3000 руб./за проект
28 февр. 2021, в 19:28
50000 руб./за проект