Nizovi su nizovi znakova. Na primjer, "Zdravo!" je niz jer se sastoji od znakova 'H', 'e', 'l', 'l', 'o' i '!'. U Javi su nizovi 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: Stvorite niz
Korak 1. Izradite niz pomoću konstruktora klase String
String str = new String ("Zdravo!");
Korak 2. Stvorite niz izravnim dodjeljivanjem niza
Korak 3. Isprobajte primjer
Ovdje je primjer 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 s konstruktorom!"); String str2 = "Niz kreiran bez konstruktora!"; System.out.println (str1); System.out.println (str2); }}
Metoda 2 od 5: Pronađite duljinu niza
Korak 1. Shvatite što znači pronaći duljinu niza
Duljina niza je broj znakova koji niz sadrži. Na primjer, duljina niza "Hello!" je 6 jer ima 6 znakova.
Korak 2. Pozovite
duljina ()
metodu na objektu String i rezultat pohraniti u cjelobrojnu varijablu.
int strLength = str.length ();
Korak 3. Pokušajte
Ovdje je primjer programa koji pronalazi duljinu niza.
javna klasa StringManipulation {public static void main (String args) {String str = "Zdravo!"; int strLength = str.length (); System.out.println ("Duljina \" " + str +" / "je" + strLength + "."); }}
Metoda 3 od 5: Obrnite niz
Korak 1. Shvatite što znači preokrenuti niz
Obrnuti niz znači promijeniti redoslijed znakova u nizu. Na primjer, obrnuti niz "Hello!" je "! olleH". Postoji mnogo načina za poništavanje niza u Javi.
Korak 2. Upotrijebite obrnutu metodu klase StringBuffer
Napravite objekt StringBuffer koji uzima niz koji želite preokrenuti kao parametar. Upotrijebite 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 međuspremnik = 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 te znakove u StringBuffer pri svakoj iteraciji
Izradite novi objekt StringBuffer inicijaliziran s duljinom 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 s 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 međuspremnik = 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 niza \" " + str +" / "je \" " + obrnutaStr +" / "."); }}
Korak 4. Napišite rekurzivnu funkciju za poništavanje niza
U rekurzivnoj funkciji osnovni slučaj / uvjet je ako je niz null ili ako je duljina niza manja ili jednaka nijednoj. Inače, metoda reverse () se ponovno poziva s nizom minus prvi znak, a prvi znak se stavlja na kraj. Dakle, ako smo proslijedili niz "Hello!", Prvi povratni () poziv nakon toga imat će parametar "ello!".
javna klasa StringManipulation {public static void main (String args) {String str = "Zdravo!"; String reversedStr = reverse (str); System.out.println ("Obrnuta strana niza \" " + str +" / "je \" " + reversedStr +" / "."); } private static String reverse (String str) {if (str == null || str.length () <= 1) return str; povrat 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 duljini niza minus jedan. Zatim ponovite niz, zamijenivši ith znak i indexOfLastChar - ith znak pri svakoj iteraciji. Konačno, pretvorite niz znakova natrag 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 niza \" " + 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 što 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"
Pozdrav svijete!
"i želite da kaže" Hello, world! "bez razmaka na početku i na kraju, možete obrezati niz. Klasa String pruža metodu trim () koja vraća kopiju niza sa početni i zadnji prazan prostor uklonjen ili izvorni niz ako nema početnog ili zadnjeg razmaka.
Korak 2. Upotrijebite trim () metodu klase String na objektu String da biste obrezali bijeli prostor
Imajte na umu da će trim () metoda baciti iznimku ako je niz null. Metoda 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 što se stvori. Umjesto toga, metoda trim () vratit će novi niz čiji je prazan prostor obrezan.
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 ("Izvorni niz je \" " + str +" / "."); System.out.println ("Obrezani niz je \" " + trimmedStr +" / "."); }}
Metoda 5 od 5: Podijelite niz
Korak 1. Shvatite što znači razdvojiti 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 razdjelnikom, dobio bih niz {"crveno", "plavo", "zeleno", "žuto", "ružičasto" "}. Evo tri različita načina za podjelu niza.
Korak 2. Koristite
StringTokenizer
tokenizirati niz.
Uvoz
java.util. StringTokenizer
. Zatim stvorite 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 imate
StringTokenizer
možete koristiti
nextToken ()
način dobivanja 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 korištenje
podjela()
metoda u
Niz
klase ili korištenje
java.util.regex
Korak 3. Upotrijebite
Niz
klase
podjela()
metoda.
The
podjela()
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. Pomoću regularnih izraza podijelite niz
Uvoz
java.util.regex. Uzor
. Koristiti
sastaviti()
metoda
Uzorak
class za postavljanje graničnika, a zatim dajte
podjela()
metoda niz koji želite podijeliti. The
Uzorak
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 cijepanje nizova.