java reverse string tutorial with programming examples
U ovom uputstvu naučit ćemo obrnuti niz u Javi koristeći Reverse () metodu klasa StringBuilder i StringBuffer uz pomoć primjera:
Ovdje ćemo razgovarati o obrnutoj () String Java metodi i njezinoj upotrebi, zajedno s dovoljnim primjerima programiranja, često postavljanim pitanjima i pitanjima temeljenim na scenariju koji će vam dati ideju o primjenjivim područjima ove metode.
Nakon prolaska kroz ovaj vodič, moći ćete bolje razumjeti obrnutu () String Java metodu i sami je možete primijeniti u različitim programima za rukovanje nizovima.
=> Posjetite ovdje da biste naučili Javu ispočetka.
Što ćete naučiti:
Obrnuti niz Java
Prije nego što započnemo, trebali bismo shvatiti da je klasa Java String nepromjenjiva i da nema reversnu () metodu. Međutim, klase StringBuilder i StringBuffer imaju ugrađenu metodu Java reverse ().
Kao što i samo ime govori, metoda reverse () koristi se za preokretanje redoslijeda pojavljivanja svih znakova niza.
Sintaksa:
StringBuffer reverse()
StringBuffer Obrnuti niz
U ovom primjeru , inicijalizirali smo String varijablu i pohranili sve znakove tog Stringa u StringBuffer. Zatim smo koristili metodu reverse () da preokrenemo pojavu znakova niza.
public class Reverse { public static void main(String[] args) { // Initialized a String variable String str = 'gnitseT erawtfoS'; // Created a StringBuffer 'sb' and stored all the characters of the String StringBuffer sb = new StringBuffer(str); // Reversed the occurrence of characters sb.reverse(); // Printed the StringBuffer System.out.println(sb); } }
Izlaz:
StringBuilder Obrnuti niz
U ovom primjeru, pokušavamo obrnuti pojavu znakova kroz StringBuilder Class. Izvodimo metodu reverse () na istim ulaznim vrijednostima koje smo koristili tijekom StringBuffer-a.
public class Reverse { public static void main(String[] args) { // Initialized a String variable String str = 'gnitseT erawtfoS'; // Created a StringBuilder 'stbuilder' and stored all the characters of the String StringBuilder stbuilder = new StringBuilder(str); // Reversed the occurrence of characters stbuilder.reverse(); // Printed the StringBuilder System.out.println(stbuilder); } }
Izlaz:
Scenariji
Scenarij 1: Obrni niz bez upotrebe metode StringBuilder ili StringBuffer reverse ().
Obrazloženje: U ovom ćemo vam scenariju pokazati kako preokrenuti znakove niza bez upotrebe metode reverse ().
Uzeli smo ulazni niz i zatim ga pretvorili u niz znakova. Uz pomoć petlje for ispisali smo znakove obrnutim redoslijedom.
pitanja i odgovori za intervjue za poslovnog analitičara
public class Reverse { public static void main(String[] args) { // Initialized a String variable String str = 'SAKET'; /* * converted String into character Array * and printed all the elements in * reverse order using for loop */ char chars[] = str.toCharArray(); for (int i = chars.length - 1; i >= 0; i--) { System.out.print(chars[i]); } } }
Izlaz:
Scenarij 2: Preokrenite sve znakove metodom Split ().
Obrazloženje: Ovo je još jedan način da se preokrene pojava znakova niza. U ovom ćemo scenariju koristiti metodu Split () za razdvajanje svakog znaka niza, a pomoću for ispisat ćemo svaki znak obrnutim redoslijedom pojavljivanja.
Ovdje smo proveli ulaz kroz konzolu pomoću klase skenera.
import java.util.Scanner; public class Reverse { public static void main(String[] args) { String str; // Taking input through the console using Scanner Class Scanner in = new Scanner(System.in); System.out.println('Enter your String'); str = in.nextLine(); /* * Splitted each character of the String and then * printed the same in the reverse order using * for loop */ String[] split = str.split(''); for(int i=split.length-1; i>=0; i--) { System.out.print(split[i] + ''); } } }
Izlaz:
Scenarij 3: Preokrenite sve znakove pomoću zamjene.
Obrazloženje: Ovo je još jedan način za preokretanje znakova niza. Ovdje smo inicijalizirali 'i' i duljina = 0.
Unutar petlje for analizirali smo znakove s obje strane održavajući 'i' jednakim nuli, povećavajući za 1 i smanjujući duljinu za 1 za svaku usporedbu između početnog indeksa i posljednjeg indeksa. Nastavili smo s tim uvjetom sve dok 'i' ne postane 'jednako' ili 'veće od' duljine.
Konačno, uz pomoć petlje forEach ispisali smo svaki znak.
class Reverse { public static void main(String[] args) { // Initialized an input String String str = 'PLEHGNITSETERAWTFOS SI SIHT'; // Converted the String into character Array char[] arr = str.toCharArray(); int i, length = 0; length = arr.length - 1; for (i = 0; i Izlaz:
Često postavljana pitanja
P # 1) Postoji li u Javi metoda obrnutog () niza?
Odgovor: Ne. Klasa String nema metodu reverse (). Međutim, String možete obrnuti na više načina u samoj klasi String. Također, StringBuilder, StringBuffer i Collections podržavaju metodu reverse ().
P # 2) Kako možemo pretvoriti StringBuilder u String?
Odgovor: Dolje je dan program u kojem smo pretvorili elemente pohranjene u StringBuilder u String.
public class Reverse { public static void main(String args[]) { String strArr[] = { 'This', 'is', 'an', 'Example', 'of', 'String' }; // Created a new StringBuilder StringBuilder sb = new StringBuilder(); /* * Appended all the elements of str (delimited by space) into StringBuilder */ sb.append(strArr[0]); sb.append(' ' + strArr[1]); sb.append(' ' + strArr[2]); sb.append(' ' + strArr[3]); sb.append(' ' + strArr[4]); sb.append(' ' + strArr[5]); // Converted the StringBuilder into it's String Equivalent String str = sb.toString(); System.out.println(str); } }
Izlaz:
3. pitanje) Navedi razliku između String, StringBuilder i StringBuffer?
kako napisati test slučajeve za web aplikaciju s primjerom
Odgovor: Dolje je navedena razlika između String, StringBuilder i StringBuffer.
Niz StringBuffer StringBuilder String je nepromjenjiva klasa. StringBuffer je promjenjiva klasa koja je sinkronizirana (bez niti). StringBuilder je također promjenjiva klasa koja nije sinkronizirana. String je manje učinkovit od StringBuffer i StringBuilder, jer svaki put kada izvodimo manipulaciju Stringom, on stvara novi String i baca stari String za odvoz smeća. StringBuffer je manje učinkovit. StringBuilder je učinkovitiji od StringBuffer-a. String je sporiji od StringBuffer-a kada konkatiramo više nizova jer svaki put stvara novu instancu. StringBuffer je sporiji od StringBuilder-a. StringBuilder je brz jer nije sinkroniziran.
P # 4) Kako pretvoriti char u string u Javi?
Odgovor: Znak možemo pretvoriti u niz koristeći ugrađenu metodu 'toString ()'.
Predloženo čitanje => Kako pretvoriti Znak u nizu na Javi
Dolje je dan program u kojem smo koristili toString () metodu za pretvaranje char-a u String.
public class Reverse { public static void main(String args[]) { char chars = 'A'; /* * With the help of toString() method, we have * converted a Character into its String Equivalent */ String str = Character.toString(chars); System.out.println(str); } }
Izlaz:
5. pitanje) Napišite Java program da biste provjerili je li niz palindrom ili ne (pomoću StringBuffer-a).
Odgovor: Možemo upotrijebiti bilo koji program String reverse (ilustriran gore), a zatim dodati uvjet da provjerimo je li palindrom ili nije.
Primjer programa dat je u nastavku.
import java.util.Scanner; public class Reverse { public static void main(String[] args) { // Initialized a String variable String str = 'racecar'; // Created a StringBuffer 'sb' and stored all the characters of the String StringBuffer sb = new StringBuffer(str); // Reversed the occurrence of characters sb.reverse(); /* * Stored the contents of StringBuffer into str2 * by converting it using toString() */ String str2 = sb.toString(); System.out.println('The Original String is: '+str); System.out.println('The reversed String is '+str2); if (str.equals(str2)) System.out.println('The String is palindrome'); else System.out.println('The String is not a palindrome'); } }
Izlaz:
Q # 6) Kako preokrenuti niz u Javi riječ po riječ?
Odgovor: String u Javi možete preokrenuti (riječ po riječ) pomoću ugrađene metode Java String Split (). Sve što trebate je proslijediti razmak u metodi Split ().
Pogledajte primjer programa u nastavku.
import java.util.Scanner; public class Reverse { public static void main(String[] args) { String str; /* Getting input from console using Scanner class * */ Scanner in = new Scanner(System.in); System.out.println('Enter your String'); str = in.nextLine(); /* * Used split() method to print in reverse order * delimited by whitespace */ String[] split = str.split(' '); for(int i=split.length-1; i>=0; i--) { System.out.print(split[i] + ' '); } } }
Izlaz:
P # 7) Je li StringBuilder siguran u nitima? Zašto je StringBuilder brži od StringBuffer?
Odgovor: Ne, StringBuilder nije zaštićen niti niti sinkroniziran. StringBuffer je zaštićen niti. Stoga se StringBuilder smatra bržim od StringBuffer-a.
Zaključak
U ovom uputstvu naučili smo o metodi Java String reverse () i raznim tehnikama pomoću kojih možete preokrenuti String.
Štoviše, pokrili smo dovoljno često postavljanih pitanja i primjera programiranja koji će vam pomoći da razumijete metodu reverse ().
=> Posjetite ovdje da biste vidjeli seriju Java treninga za sve.
Preporučena literatura
- Obrnuti niz u Javi - 3 metode s primjerima
- Java String Vodič | Metode Java niza s primjerima
- Java niz nizova - Vodič s primjerima koda
- Java string sa String Buffer-om i String Builder Tutorial
- Duljina Java niza () Metoda s primjerima
- Java String sadrži () Vodič za metode s primjerima
- JAVA Tutorial za početnike: 100+ praktičnih Java Video tutorijala
- Java String compareTo metoda s primjerima programiranja