Я считаю, что лучший способ овладеть программированием или любой другой областью - решать проблемы.

В этом рассказе мы собираемся решить новую задачу, используя язык программирования 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

Это мои рекомендуемые материалы, и это партнерские ссылки, спасибо за поддержку моего письма :-)