Я считаю, что лучший способ овладеть программированием или любой другой областью - решать проблемы.
В этом рассказе мы собираемся решить новую задачу, используя язык программирования Java, решение применимо и к любому другому языку программирования.
Задача заключается в следующем:
Напишите функцию, которая меняет местами все слова в переданной строке.
Пример:
"The best way to master programming is by solving problems " --> "problems solving by is programming master to way best the"
Как говорит дядя Боб (Боб Мартин):
«Единственный способ действовать быстро - это идти хорошо».
Итак, для этой цели мы собираемся создать модульные тесты, прежде чем переходить к решению.
import org.junit.Test; import static org.junit.Assert.assertEquals; import org.junit.runners.JUnit4; public class ReverseWordsTest { @Test public void reverseTest() { assertEquals("drinking like I",ReverseWords.reverse("I like drinking")); assertEquals( "running like I", ReverseWords.reverse("I like running") ); }
Чтобы решить эту проблему, вы должны выполнить следующие действия:
1 - преобразовать строку в список строк
2- изменить порядок в списке
3- затем соедините элементы списка, чтобы получилась обратная строка
Выполнив эти шаги, вы получите результат на языке программирования Java, показанный ниже.
import java.util.*;
public class ReverseWords{
public static String reverse(String words){
List<String> wordsAsList = Arrays.asList( words.split(" ") );
Collections.reverse( wordsAsList );
return String.join( " ", wordsAsList );
}
}
Вывод:
Из этого задания вы могли многому научиться на java.
Как разделение строки на массив с помощью метода split.
Collections.reverse to reverse a collection
and String.join to concat the elements and return the string
Итак, основная идея здесь - сосредоточиться на решении проблем, тогда вы автоматически освоите такие инструменты, как языки программирования, фреймворки и т. Д.
Видео-версия этого рассказа:
Поделитесь со мной своим мнением в комментариях :-)
► Рекомендуемые книги
Чистый код: руководство по созданию гибкого программного обеспечения
Шаблоны проектирования в первую очередь: руководство для мозга
Чистая архитектура
► Компьютер и монитор
Новый Apple MacBook Pro
27-дюймовый монитор Dell Ultrasharp U2719D
Настольное крепление с двумя ручками
Многопортовый адаптер USB-концентратора C
IDE, которую я использую для кодирования:
- IntelliJ
- Vscode
Это мои рекомендуемые материалы, и это партнерские ссылки, спасибо за поддержку моего письма :-)