Печать обратной строки без использования какой-либо предопределенной функции? - PullRequest
6 голосов
/ 10 апреля 2010

Как напечатать обратную строку java is object orientated language без использования какой-либо предопределенной функции, например reverse()?

Ответы [ 34 ]

1 голос
/ 02 августа 2012
private void rev() {
    String st="hello";
    String b="";

    for(int i=st.length()-1;i>=0;i--){
        b=b+st.charAt(i);
    }

    System.out.println("reverse:::"+b);
}
1 голос
/ 29 июля 2012
public class StringReverse {
    public static void main(String ar[]){
        System.out.println(reverseMe("SRINIVAS"));
    }
    static String reverseMe(String s){
        StringBuffer sb=new StringBuffer();
        for(int i=s.length()-1;i>=0;--i){
            sb.append(s.charAt(i));
        }
        return sb.toString();
    }
}
1 голос
/ 24 июля 2010
final String s = "123456789";
final char[] word = s.toCharArray();
final int l = s.length() - 2;
final int ll = s.length() - 1;
for (int i = 0; i < l; i++) {
    char x = word[i];
    word[i] = word[ll - i];
    word[ll - i] = x;
}
System.out.println(s);
System.out.println(new String(word));

Вы можете сделать это либо рекурсивно, либо итеративно (циклично).

Итеративно:

static String reverseMe(String s) {
    StringBuilder sb = new StringBuilder();
    for (int i = s.length() - 1; i >= 0; --i)
        sb.append(s.charAt(i));
    return sb.toString();
}

Рекурсивный:

static String reverseMe(String s) {
    if (s.length() == 0)
        return "";
    return s.charAt(s.length() - 1) + reverseMe(s.substring(1));
}

Integer i = new Integer(15);
test(i);
System.out.println(i);
test(i);
System.out.println(i); 
public static void test (Integer i) {
    i = (Integer)i + 10;
}
1 голос
/ 23 июля 2014

это лучшее решение для этого

public class String_rev {
public static void main(String[] args) {
    String str="Karan Rajput";
    int ln=str.length();
    for (int i = ln; i > 0; i--) {
        System.out.print(str.charAt(i-1));
    }
}

}

1 голос
/ 10 апреля 2010

Вот рекурсивное решение, которое просто печатает строку в обратном порядке. Это должно быть познавательно, если вы пытаетесь научиться рекурсии. Я также сделал это "неправильно", фактически имея 2 print заявления; один из них должен быть закомментирован. Попробуйте выяснить, какие мысленно или просто проведите эксперименты. В любом случае, учитесь на этом.

static void printReverse(String s) {
    if (!s.isEmpty()) {
        System.out.print(s.substring(0, 1));
        printReverse(s.substring(1));
        System.out.print(s.substring(0, 1));
    }
}

Бонусные баллы, если вы ответите на следующие вопросы:

0 голосов
/ 25 июня 2014

Код будет таким, как показано ниже:

public class RemoveString {

public static void main(String[] args) {

Scanner scanner=new Scanner(System.in);

String s=scanner.next();

String st="";

for(int i=s.length()-1;i>=0;i--){

st=st+s.charAt(i);


}

System.out.println(st);

}

}
0 голосов
/ 18 июня 2014
public class MyStack {
   private int maxSize;
   private char[] stackArray;
   private int top;
   public MyStack(int s) {
      maxSize = s;
      stackArray = new char[maxSize];
      top = -1;
   }
   public void push(char j) {
      stackArray[++top] = j;
   }
   public char pop() {
      return stackArray[top--];
   }
   public char peek() {
      return stackArray[top];
   }
   public boolean isEmpty() {
      return (top == -1);
   }
   public boolean isFull() {
      return (top == maxSize - 1);
   }
   public static void main(String[] args) {
      MyStack theStack = new MyStack(10);
      String s="abcd";
      for(int i=0;i<s.length();i++)
      theStack.push(s.charAt(i));
      for(int i=0;i<s.length();i++)
      System.out.println(theStack.pop());

    }
0 голосов
/ 29 апреля 2014

Вот, пожалуйста, <pre></p> <pre><code>public static void main (String[] args) { System.out.println(reverserString("Akshay")); } private static String reverserString(String src) { char[] sArr = src.toCharArray(); char[] dArr = new char[sArr.length]; for(int i=sArr.length; i>0; i--) { dArr[sArr.length-i] = sArr[i-1]; } return new String(dArr); }

0 голосов
/ 13 апреля 2012
public class ReverseString {

public static void main(String [] args) {

    String s = "reverse string" ;
    String b = "";

            for (int i = 0; i < s.length(); i++ ){
                 b= b + s.substring(s.length()-1-i, s.length()-i);

                 }

             System.out.println(b);
}
0 голосов
/ 16 февраля 2015

Код будет таким, как показано ниже:

   public class A{
       public static void main(String args[]){

      String str="hello";
      for(int i=str.length()-1;i>=0;i--){
        String str1=str.charAt(i);
        system.out.print(str1);
      }

   }
}
...