могу дойти до верного решения. Мне передается два аргумента- строка и число. Мне нужно каждый n символ строки делать заглавным, n определяется числом из аргумента. Вот до чего я дошел кое как, а дальше не получается, уже как только не пробовал, в основном сталкиваюсь с тем, что у меня в методе replace получается так, что я передаю данные с не верными типами. Может кто подсказать в какую сторону думать?
Что не так то работает ?
лучше не трогать саму строку, а создать StringBuilder
Этого ыя еще не знаю, погуглю
Что делает твой иф?
Почитайте что значит метод charAt
Так же посмотрите, как элегантней изменять строку в Java без пересоздания строки (строки в Java иммутабельны), ознакомьтесь, что это означает
Если при делении остаток равен 1, то выполняет сл код
Знаю, это значит мне нужно создавать новую строку из этой, просто клонировать?
Значит вам нужно изучить подход, при котором вы сможете изменять «строку» в Java
ты же делишь не индекс символа а сам символ, оно не работает так
Кстати как пробел сделать заглавным?
Ну это изи же
Пробел это не единственный символ у которого нету заглавного варианта
Да ну не может быть!
А charAt возвращает символ, а не строку, я понял спасибо! Но почему тогда не ругается на типизация
а ты думал что charAt(i) должен i вернуть? в чем был бы смысл такого метода?
Ну мы бы смотрели на индекс, и если индекс на i делится с остатком 1, то мы заходим в if и там уже делаем букву заглавноый
ну i это и есть твой индекс
Да, потому я делю i на число из аргумента, потому что если они совпадают, то мы делаем букву заглавной
вместо глупостей с делением лучше используй цикл for с шагом n
Обсуждают сегодня