Простой способ свернуть строку - программирование
Подтвердить что ты не робот

Простой способ свернуть строку

Без прохождения последовательности char есть ли способ отменить String в Java

4b9b3361

Ответ 1

Попробуйте это,

String s = "responses";
StringBuilder builder = new StringBuilder(s);
System.out.println(builder.reverse());

Ответ 2

Вы можете использовать метод StringBuilder#reverse():

String reverse = new StringBuilder(originalString).reverse().toString();

Ответ 3

Используйте метод StringBuilder's или StringBuffer's... reverse()

 public class StringReverse
{
  public static void main(String[] args)
  {
  String string=args[0];
  String reverse = new StringBuffer(string).reverse().toString();
  System.out.println("\nString before reverse: "+string);
  System.out.println("String after reverse: "+reverse);
  } 
} 

StringBuffer поточно-безопасный, где StringBuilder Небезопасный..... StringBuilder был введен с Java 1.5, чтобы быстрее выполнять те операции, у которых нет Concurrency, чтобы беспокоиться о....

Ответ 4

Попробуйте метод reverse():

StringBuilder stringName = new StringBuilder();
String reverse = stringName.reverse().toString();

Ответ 5

Вы можете использовать String buffer для изменения строки.

public String reverse(String s) {
    return new StringBuffer(s).reverse().toString();
}

Еще один интересный способ сделать это - рекурсия.

public String reverse(String s) {
    if (s.length() <= 1) { 
        return s;
    }
    return reverse(s.substring(1, s.length())) + s.charAt(0);
}

Ответ 6

Вы можете использовать StringBuilder..

String word = "Hello World!";
StringBuilder sb = new StringBuilder(word);

System.out.print(sb.reverse());

Ответ 7

"Без прохождения последовательности char.." - один простой способ:

public String reverse(String post)
{                
    String backward = "";
    for(int i = post.length()-1; i >= 0; i--) {
        backward = backward + post.substring(i, i+1);
    }        
    return backward;
} 

Ответ 8

Это способ сделать это с помощью рекурсии -

public static String reverse(String s1){
        int l = s1.length();
        if (l>1)
                return(s1.substring(l-1) + reverse(s1.substring(0,l-1)));
        else
                return(s1.substring(0));
}

Ответ 9

Использование минимальной поддержки API. Простой алгоритм.

static String reverse(String str) {
    char[] buffer = str.toCharArray();
    for (int i = 0; i < buffer.length/2; ++i){
        char c = buffer[i];
        buffer[i] = buffer[buffer.length-1-i];
        buffer[buffer.length-1-i] = c;
    }
    return new String(buffer);
}

Ответ 10

Здесь у меня есть образец того же метода подстроки и o (n) без использования каких-либо nethods из строки. Я знаю, что использование подстроки будет содержать полную строку памяти.

for(int i = 0; i < s.length(); i++)    {
    s = s.substring(1, s.length() - i) + s.charAt(0) + s.substring(s.length() - i);
    System.out.println(s);
}

Это может помочь вам!

Ответ 11

Я не видел простого способа. Вот подходящий способ:


Использование цикла:
    String d = "abcdefghij";
    char b[] = new char[d.length()];// new array;
    int j=0; // for the array indexing
    for(int i=d.length()-1;i>=0;i--){
        b[j] = d.charAt(i); // input the last value of d in first of b i.e. b[0] = d[n-1]
        j++;
    }
    System.out.println("The reverse string is: "+String.valueOf(b));


Выход The reverse string is: jihgfedcba
Простая логика:

array[i] = array[n-i];      где я - итерация, а n - общая длина массива

Ответ 12

public class RevString {
  public static void main(String[] args) {
    String s="jagan";
    String rev="";
    for (int i=s.length()-1;i>=0;i--) {
      rev=rev+s.charAt(i);
    }
     System.out.println("Reverse String is: "+rev);
  }
}