Zadanie z metodą toCharArray() - kłopoty.

0

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.

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 :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1