Metoda w twoim kodzie: podzielNaSlowa("tekst do podzielenia") zwracała tablicę.
W związku z tym, przy wywołaniu metody System.out.print(tablica) zostawała wywoływana metoda .toString() tej tablicy - przez to dostawałeś brzydki szlaczek jakichś liter.
Aby wyświetlić słowa w tablicy musisz po niej iterować jakąś pętlą. Ja w swoim przykładzie uzyłem pętli for.
Dodatkowo Twój warunek w ifie był niedopracowany. Nie wrzucał do tablicy ostatniego słowa tekstu, ponieważ po ostatnim słowie nie ma spacji.
W ładny sposób można podzielić tekst przy pomocy metody Stringa: .split("znaki, które mają być usuniętę z tekstu i jednocześnie pokazują, w którym miejscu tekst należy podzielić").
/*
* Program dzieli tekst na części
*/
public class asd {
// Nie inicjujemy tablicy (= new String[10]), ponieważ metoda .split() zwraca już utworzoną tablicę
static String[] tablica;
// Metoda dzielącą tekst na części
static String[] podzielNaSlowa(String tekst){
// Dzielimy tekst w miejscu gdzie jest spacja metodą .split.
// Metoda ta zwraca tablicę Stringów,
// którą przypisujemy do zmiennej tablica
tablica = tekst.split(" ");
// Zwracamy tablicę z podzielonymi słowami
return tablica;
}
public static void main(String[] args){
// Metoda zwraca tablicę, którą zapisujemy do zmiennej
String[] tablicaSłów = podzielNaSlowa("To ma zostac podzielone");
// Iterujemy po tablicy pętlą for i wyświetlamy pokolei każde słowo
for (int i = 0; i < tablicaSłów.length; i++) {
System.out.println(tablicaSłów[i]);
}
}
}