W czym jest problem?
Napisałem warunki, takie aby ciągi będące pustym znakiem, nie dodawały się do listy ArrayList,
oraz aby pozostałe ciągi większe niż 1 zawierające puste znaki zostały obcięte o te puste znaki.
Wynik, wyświetla się prawidłowo, lecz otrzymuje informacje, że między wyrazami może być więcej niż jeden pusty znak (na który napisałem warunek).
package pl.codegym.task.task08.task0823;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
/*
Ruszamy na cały kraj
*/
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String s = reader.readLine();
//tutaj wpisz swój kod
String[] a = s.split(" "); // Tworzy tablicę zapełniając ją rozdzielonymi wyrazami, między którymi znajduje się POJEDYŃCZA spacja
ArrayList<String> b = new ArrayList<String>(); //Tworzymy listę na rozdzielone wyrazy
for (int i =0; i < a.length; i++) { // tytaj ustalamy warunki, że ciągi zawierające tylko i wyłącznie spację nie zostają dodane do listy, w pozostałych przypadkach sprawdzane zostaje posiadanie spacji w ciągu i przycięcie pustego miejsca
if (!(a[i].equals(" ")))
b.add(a[i]);
if (b.get(i).length() > 1 && b.get(i).contains(" ")) {
b.get(i).trim();
}
}
for (int i = 0; i < b.size(); i++) { // w tej pętli w każdym ciągu zmieniamy pierwszą literę na dużą
b.set(i, b.get(i).substring(0, 1).toUpperCase() + b.get(i).substring(1));
System.out.print(b.get(i) + " ");
}
}
}