Printing reverse of any String without using any predefined function?

后端 未结 30 1346
生来不讨喜
生来不讨喜 2020-11-30 03:08

How to print the reverse of the String java is object orientated language without using any predefined function like reverse()?

30条回答
  •  旧巷少年郎
    2020-11-30 03:19

    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));
    

    You can do it either recursively or iteratively (looping).

    Iteratively:

    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();
    }
    

    Recursively:

    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;
    }
    

提交回复
热议问题