Nizovi su nizovi znakova. Na primjer, "Hello!" je niz jer se sastoji od znakova 'H', 'e', 'l', 'l', 'o' i '!'. U Javi, nizovi su objekti, što znači da postoji klasa String koja ima polja i metode. Za manipulaciju nizovima možemo koristiti metode klase String.
Koraci
Metoda 1 od 5: Kreirajte niz
Korak 1. Kreirajte niz pomoću konstruktora klase String
String str = new String ("Zdravo!");
Korak 2. Kreirajte niz direktnim dodjeljivanjem niza
Korak 3. Isprobajte primjer
Evo primjera programa koji stvara niz na dva različita načina.
javna klasa StringManipulation {public static void main (String args) {String str1 = new String ("String kreiran pomoću konstruktora!"); String str2 = "Niz kreiran bez konstruktora!"; System.out.println (str1); System.out.println (str2); }}
Metoda 2 od 5: Pronađite dužinu niza
Korak 1. Shvatite šta znači pronaći dužinu niza
Dužina niza je broj znakova koji niz sadrži. Na primjer, dužina niza "Hello!" je 6 jer ima 6 znakova.
Korak 2. Pozovite
dužina ()
metodu na objektu String i rezultat pohraniti u cjelobrojnu varijablu.
int strLength = str.length ();
Korak 3. Pokušajte
Evo primjera programa koji pronalazi dužinu niza.
javna klasa StringManipulation {public static void main (String args) {String str = "Zdravo!"; int strLength = str.length (); System.out.println ("Dužina \" " + str +" / "je" + strLength + "."); }}
Metoda 3 od 5: Obrnite niz
Korak 1. Shvatite šta znači obrnuti niz
Obrtanje niza znači promjenu redoslijeda znakova u nizu. Na primjer, obrnuto od niza "Hello!" je "! olleH". Postoji mnogo načina za poništavanje niza u Javi.
Korak 2. Koristite obrnuti metod klase StringBuffer
Kreirajte objekt StringBuffer koji uzima niz koji želite obrnuti kao parametar. Koristite metodu reverse () StringBuffer -a, a zatim dohvatite novo obrnuti niz pomoću metode toString ().
javna klasa StringManipulation {public static void main (String args) {String str = "Zdravo!"; StringBuffer bafer = novi StringBuffer (str); String reversedStr = buffer.reverse (). ToString (); System.out.println ("Obrnuta strana niza \" " + str +" / "je \" " + reversedStr +" / "."); }}
Korak 3. Ponovite znakove u nizu obrnuto, dodajući ove znakove u StringBuffer pri svakoj iteraciji
Kreirajte novi objekt StringBuffer inicijaliziran s dužinom niza koji želite preokrenuti kao parametar. Zatim upotrijebite petlju for za ponavljanje kroz niz, počevši od posljednjeg znaka u nizu i završavajući na prvom znaku u nizu. Na svakoj iteraciji dodajte znak tog indeksa u StringBuffer. Dohvatite novo obrnuti niz pomoću metode toString ().
javna klasa StringManipulation {public static void main (String args) {String str = "Zdravo!"; StringBuffer bafer = novi StringBuffer (str.length ()); for (int i = str.length ()-1; i> = 0; i--) {buffer.append (str.charAt (i)); } String reversedStr = buffer.toString (); System.out.println ("Obrnuta strana \" " + str +" / "je \" " + reversedStr +" / "."); }}
Korak 4. Napišite rekurzivnu funkciju da biste obrnuli niz
U rekurzivnoj funkciji, osnovni slučaj / uvjet je ako je niz null ili ako je duljina niza manja ili jednaka none. Inače, metoda reverse () se ponovo poziva s nizom minus prvi znak, a prvi znak se stavlja na kraj. Dakle, ako smo proslijedili niz "Hello!", Prvi poziv reverse () nakon toga će imati parametar "ello!".
javna klasa StringManipulation {public static void main (String args) {String str = "Zdravo!"; String reversedStr = reverse (str); System.out.println ("Obrnuta strana \" " + str +" / "je \" " + reversedStr +" / "."); } private static String reverse (String str) {if (str == null || str.length () <= 1) return str; povratak unatrag (str.substring (1)) + str.charAt (0); }}
Korak 5. Pretvorite niz u niz znakova, a zatim zamijenite prvi i zadnji, drugi i drugi u posljednji itd
likovi. Prvo pretvorite niz u niz znakova pomoću metode toCharArray () na nizu. Dobijte indeks posljednjeg znaka u nizu, koji je jednak dužini niza minus jedan. Zatim ponovite niz, zamjenjujući ith znak i indexOfLastChar - ith znak pri svakoj iteraciji. Konačno, pretvorite niz znakova nazad u niz.
javna klasa StringManipulation {public static void main (String args) {String str = "Zdravo!"; char charArray = str.toCharArray (); int indexOfLastChar = charArray.length - 1; for (int i = 0; i <charArray.length/2; i ++) {char temp = charArray ; charArray = charArray [indexOfLastChar - i]; charArray [indexOfLastChar - i] = temp; } String reversedStr = novi niz (charArray); System.out.println ("Obrnuta strana \" " + str +" / "je \" " + reversedStr +" / "."); }}
Korak 6. Pregledajte svoj ispis
Ovdje je izlaz koji proizlazi iz bilo koje od ovih metoda za preokret niza.
Metoda 4 od 5: Odrežite bijeli prostor u nizu
Korak 1. Shvatite šta znači obrezivanje bijelog prostora u nizu
Skraćivanje niza u Javi znači uklanjanje početnog i posljednjeg razmaka u nizu. Na primjer, ako imate niz"
Zdravo svijete!
"i želite da kaže" Zdravo, svijet! "bez razmaka na početku i na kraju, možete obrezati niz. Klasa String pruža metodu trim () koja vraća kopiju niza sa prvi i zadnji prazan prostor je uklonjen ili originalni niz ako nema početnog ili zadnjeg razmaka.
Korak 2. Koristite trim () metodu klase String na objektu String da biste obrezali bijeli prostor
Imajte na umu da će trim () metoda izbaciti izuzetak ako je niz null. Metod trim () neće promijeniti sadržaj izvornog niza jer su nizovi u Javi nepromjenjivi, što znači da se stanje niza ne može mijenjati nakon kreiranja. Umjesto toga, metoda trim () će vratiti novi niz čiji je razmak isječen.
String trimmedStr = str.trim ();
Korak 3. Isprobajte primjer
Evo primjera programa koji skraćuje bijeli prostor niza:
javna klasa StringManipulation {public static void main (String args) {String str = "Zdravo!"; String trimmedStr = str.trim (); System.out.println ("Originalni niz je \" " + str +" / "."); System.out.println ("Obrezani niz je \" " + trimmedStr +" / "."); }}
Metoda 5 od 5: Podijelite niz
Korak 1. Shvatite šta znači podijeliti niz
Podijeliti niz u Javi znači podijeliti niz po određenom graničniku u niz podnizova. Na primjer, ako podijelim niz "crveno, plavo, zeleno, žuto, ružičasto" sa zarezom kao graničnikom, dobio bih niz {"crveno", "plavo", "zeleno", "žuto", "ružičasto" "}. Evo tri različita načina za podjelu niza.
Korak 2. Koristite
StringTokenizer
za tokeniziranje niza.
Uvoz
java.util. StringTokenizer
. Zatim kreirajte novu instancu a
StringTokenizer
s nizom za tokeniziranje i razdjelnikom kao parametrima. Ako razdjelnik ne unesete kao parametar, graničnik će se automatski postaviti na prazan prostor. Nakon što dobijete
StringTokenizer
možete koristiti
nextToken ()
način dobijanja svakog tokena.
import java.util. Arrays; import java.util. StringTokenizer; javna klasa StringManipulation {public static void main (String args) {String str = "crvena, zelena, plava, žuta, ružičasta"; StringTokenizer tokenizer = novi StringTokenizer (str, ","); int numberOfTokens = tokenizer.countTokens (); String splitArr = novi niz [numberOfTokens]; for (int i = 0; i <numberOfTokens; i ++) {splitArr = tokenizer.nextToken (); } System.out.println ("\ nOriginalni niz:" + str); System.out.println ("Podijeljeni niz:" + Arrays.toString (splitArr) + "\ n"); }}
Prije Jave 1.4,
StringTokenizer
class je korišten za podjelu nizova u Javi. Ali sada, upotreba
StringTokenizer
je obeshrabreno i upotreba
podijeliti()
metoda u
String
klase ili korištenje
java.util.regex
Korak 3. Koristite
String
klase
podijeliti()
metoda.
The
podijeliti()
metoda će uzeti razdjelnik kao parametar i vratiti niz podnizova koji su isti kao tokeni iz
StringTokenizer
import java.util. Arrays; javna klasa StringManipulation {public static void main (String args) {String str = "crvena, zelena, plava, žuta, ružičasta"; String splitArr = str.split (","); System.out.println ("\ nOriginalni niz:" + str); System.out.println ("Podijeljeni niz:" + Arrays.toString (splitArr) + "\ n"); }}
Korak 4. Koristite regularne izraze za podjelu niza
Uvoz
java.util.regex. Pattern
. Koristiti
kompajlirati ()
metoda
Pattern
class za postavljanje graničnika, a zatim daje
podijeliti()
metod niz koji želite podijeliti. The
Pattern
vratit će niz podnizova.
import java.util. Arrays; import java.util.regex. Pattern; javna klasa StringManipulation {public static void main (String args) {String str = "crvena, zelena, plava, žuta, ružičasta"; String splitArr = Pattern.compile (",").split (str); System.out.println ("\ nOriginalni niz:" + str); System.out.println ("Podijeljeni niz:" + Arrays.toString (splitArr) + "\ n"); }}
Korak 5. Pregledajte svoj ispis
Ovdje je izlaz koji proizlazi iz bilo koje od ovih metoda za podjelu nizova.