Witam.
Mam problem z zadaniem: http://4programmers.net/Pastebin/2483
Nie wiem jak użyć metody toCharArray() żeby zamienić te litery miedzy sobą.
Czy możecie mi pomóc?
Dzięki i pozdro.
0
1
Podajesz nazwę marki jako String. Potem możesz tego Stringa zamienić na tablicę znaków przez co będziesz mógł dokonać zamiany 1 z 3 literą. Mniej więcej coś takiego:
char tab[] = marka.toCharArray();
char tmp = tab[0];
tab[0] = tab[2];
tab[2] = tmp;
0
http://4programmers.net/Pastebin/2485
Zrobiłem coś takiego ale nie działa jak powinno.
Co jest nie tak?
1
Poprawione i działa dobrze:
public class Glowna {
static void changer(String tab[]) {
for (int i = 0; i < tab.length; i++) {
char zmiana[] = tab[i].toCharArray();
char tmp = zmiana[0];
zmiana[0] = zmiana[2];
zmiana[2] = tmp;
System.out.println(tab[i] + " - " + String.valueOf(zmiana));
}
}
public static void main(String[] args) {
String marki[] = {"Opel", "Fiat", "Mazda", "Polonez", "Syrena" };
changer(marki);
}
}
Gdzie popełniłeś błędy?
Ad 1.
Tablice w Javie indeksowane są od 0. Przykładowo masz:
char tmp = tab2[1];
oznacza to, że odnosisz się do 2 elementu w tablicy! Pierwsza litera ma indeks 0.
Ad 2.
W momencie gdy pozamieniasz litery w tablicy, musisz je z powrotem przekonwertować na Stringa, aby było wygodniej Ci wypisywać:
String.valueOf(zmiana)
0
Ok dzięki za pomoc :)