Java-da bir sətri necə dəyişdirmək olar


JavaBaxılıb 75

Bu dərslik, fərqli metodlardan istifadə edərək Java-da bir sətri necə geri çevirəcəyinizi başa düşməyinizə kömək edəcəkdir. Sətir '\ 0' ilə sona çatan simvol qrupudur. Beləliklə, bir sətri geri çevirmək, simvolların ardıcıllığını əks ardıcıllıqla göstərmək deməkdir. Məsələn, bir sətir “Xoş gəldiniz ”sə, sətrin əks hissəsi“ emocleW ”dır.

Java-da bir sətri necə dəyişdirmək olarPin

Java-da bir sətri necə tərsləşdirmək üçün müxtəlif üsullar

Java-da bir sətri necə dəyişdirmək olarPin

StringBuilder / StringBuffer istifadə edərək bir simli tərs edin

The StringBuilder və StringBuffer sinfi statik bir metod ehtiva edir reverse() sətirdəki simvol ardıcıllığını əks etdirir. Aşağıdakı nümunə, StringBuilder istifadə edərək Java-da bir sətri necə geri çevirəcəyini göstərir. Əvvəlcə StringBuilder sinfinə parametr olaraq tərs çevirmək istədiyimiz sətri göstərərək StringBuilder nümunəsini yaradırıq. İstifadə reverse() metod, birbaşa giriş sətrini tərsinə çevirə bilərik və sonra istifadə edərək sətir dəyişəninə çevirə bilərik toString() metodu.

public class ReverseStringDemo {

  public static void main(String[] args) {
    String s = "Welcome";
    StringBuilder sb = new StringBuilder(s);
    sb.reverse();
    String text = sb.toString();
    System.out.println("Original string: " + s);
    System.out.println("Reversed string: " + text);

  }

}
Original string: Welcome
Reversed string: emocleW

Aşağıdakı. İstifadə edərək eyni nümunədir StringBuffer sinif və əks () metodu.

public class ReverseStringDemo {

  public static void main(String[] args) {
    String s = "Welcome";
    StringBuffer sb = new StringBuffer(s);
    sb.reverse();
    String text = sb.toString();
    System.out.println("Original string: " + s);
    System.out.println("Reversed string: " + text);

  }

}
Original string: Welcome
Reversed string: emocleW

Ters təkrarlama - toCharArray () istifadə edərək bir sətri tərs edin

Bir simli geri çevirmək üçün başqa bir metodtoCharArray() String sinfinin metodu. Bu üsul sim bir sıra simvollara. Dizinin uzunluğundan 0-a qədər başlayan mənasını tərs istiqamətdə for döngəsindən istifadə edərək hər bir simvoldan təkrarlana və 1-ə endirib yeni bir simli dəyişənə əlavə edə bilərik. Aşağıdakı misal, istifadə edərək əks iterasiyanı göstərir toCharArray() metodu.

public class ReverseStringDemo {

  public static void main(String[] args) {
    String s = "Welcome";
    
    char[] ch = s.toCharArray();
    String text = "";
    for(int i=ch.length-1;i>=0;i--) {
      text = text + ch[i];
    }

    System.out.println("Original string: " + s);
    System.out.println("Reversed string: " + text);

  }

}
Original string: Welcome
Reversed string: emocleW

ByteArray istifadə edərək bir simli tərs edin

Sətri bayt massivinə çevirərək Java-da bir sətri tərsinə çevirə bilərik və sonra hər bir baytı for for döngəsində tərs qaydada əldə edə bilərik. Bunun üçün tərs sətri saxlamaq üçün başqa bir bayt massivi yaradırıq. Daxilində for loop, hər baytı sondan 0-a çatana qədər almağa başlayırıq.

public class ReverseStringByteArray {

  public static void main(String[] args) {
    String s = "Java tutorial";
    byte[] bArray = s.getBytes();
    int len = bArray.length;
    
    byte[] newString = new byte[len];	
    
    for(int i=0;i<len;i++) {
      newString[i] = bArray[len-i-1];
    }
    System.out.println(new String(newString));
  }

}
lairotut avaJ

Dəyişdirmə konsepsiyasından istifadə

Bir simli tərs çevirmək üçün başqa bir üsul dəyişdirmə konsepsiyasını müvəqqəti dəyişənlə birlikdə istifadə etməkdir. Bu, müvəqqəti dəyişəndən istifadə edərək iki dəyişəni dəyişdirdiyimiz eyni məntiqdir. Burada, a for loop simvolları dəyişdirmək və massivdə saxlamaq. Son simvol massivində əks sətir olacaqdır.

public class ReverseStringSwap {

  public static void main(String[] args) {
    String s = "Java tutorial";
    char[] chArray = s.toCharArray();
    
    int l = 0;
    int r = chArray.length-1;
    
    for(l=0;l<r;l++,r--) {
      char t = chArray[l];
      chArray[l] = chArray[r];
      chArray[r] = t;
    }
    
    for(char ch: chArray)
      System.out.print(ch);

    System.out.println();
  }

}
lairotut avaJ

ArrayList obyektindən istifadə

ArrayList obyektindən istifadə edərək Java-da bir sətri geri çevirə bilərik. Əvvəlcə toCharArray () metodundan istifadə edərək simli bir sıra simvollara çeviririk. Sonra, bir növ ArrayList yaradırıq Character və simvolları istifadə edərək siyahıya əlavə edin for loop. ArrayList bir Kolleksiya olduğundan onun daxili metodundan istifadə edə bilərik reverse() siyahıda olan simvolları geri qaytarmaq üçün. İndi ArrayList sətrin simvollarını tərs qaydada ehtiva edir. İstifadə ListIterator, siyahıdan fərdi simvollar götürərək tərs sətri çap edə bilərik.

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.ListIterator;

public class ReverseStringArrayList {

  public static void main(String[] args) {
    String s = "Java tutorial";
    
    //convert string to character array
    char[] ch = s.toCharArray();
    
    List<Character> l = new ArrayList<>();
    
    //Add the characters to the list
    for(char c:ch)
      l.add(c);
    
    //Reverse using Collections
    Collections.reverse(l);
    
    //Print the characters in the reverse order from the list
    ListIterator li = l.listIterator();
    while(li.hasNext())
      System.out.print(li.next());

  }

}
lairotut avaJ

Rekursiyadan istifadə

Java-da bir sətri necə geri qaytaracağına dair başqa bir üsul da rekursiyadan istifadə etməkdir. Bu o deməkdir ki, müəyyən bir şərti qarşılayana qədər bir funksiyanı təkrarən və ya təkrarən çağırmalıyıq. Aşağıdakı nümunədə biz rekursiv funksiya yaradırıq reverseString() simvolları tərs qaydada qaytarmaq üçün dəfələrlə çağırırıq.

public class ReverseStringRecursion {
  
  String reverseString(String s) {
    if(s.length() == 0)
      return " ";
    return s.charAt(s.length()-1) + reverseString(s.substring(0,s.length()-1));
  }

  public static void main(String[] args) {
    ReverseStringRecursion r = new ReverseStringRecursion();
    String s = "Java tutorial";
    System.out.println("Original string: " + s);
    System.out.println("Reversed string: " + r.reverseString(s));
  }

}
Original string: Java tutorial
Reversed string: lairotut avaJ 

While loop - charAt () metodundan istifadə

Aşağıda a-dan istifadə edərək Java-da bir sətri necə tərsinə çevirəcəyinizə dair başqa bir metod var while ilmə. A içindəki son hərfdən başlayaraq bir simldəki hər bir simvol arasından keçə bilərik while ilmə. Bunun üçün 'i' döngə dəyişənini simli uzunluq kimi işə salırıq və hər bir simvolu son mövqedən alırıq və döngü dəyişənini azaldırıq.

public class ReverseStringDemo {

  public static void main(String[] args) {
    String s = "Welcome";
    System.out.println("Original string: " + s);
    
    System.out.print("Reversed string: ");
    int i = s.length();
    while(i>0) {
      System.out.print(s.charAt(i-1));
      i--;
    }
    

  }

}
Original string: Welcome
Reversed string: emocleW

Başqa bir məqalə oxumaqla maraqlana bilərsiniz Simli tərs çevirmək

arayış

Şərh yaz

Translate »
1