Java文本反向

时间:2018-03-22 06:15:23

标签: java string

我只是一个初学者,不知道如何反转我在输入上写的文本,所以它在输出上是反转的。我写了这样的话:

public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String s = sc.nextLine();
        String[] pole = {s};
        for (int i = pole.length; i >= 0; i--) {
            System.out.print(pole[i]);
        } // TODO code application logic here
    }
}

但它不起作用,我无法弄清楚原因。

1 个答案:

答案 0 :(得分:0)

欢迎来到SO和java世界。 据我所知,问题不仅仅是反转String。问题还在于你不了解字符串和数组。

让我们逐行查看您的代码;

 public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        // Read a String
        String s = sc.nextLine();
        // Put String into an array
        String[] pole = { s };
        // pole's length is 1, because pole has only one String
        for (int i = pole.length; i > 0; i--) {
            // pole[i-1] is the input String
            // System.out.print(pole[i]); // pole[i] get java.lang.ArrayIndexOutOfBoundsException
            System.out.print(pole[i - 1]); // this will print input string not reverse

        }

        // To iterate over a String
        for (int i = s.length() - 1; i >= 0; i--) { // iterate over String chars
            System.out.print(s.charAt(i)); //this will print reverse String.
        }
    }

同样在评论中给出,Java有现成的方法来反转String。等;

new StringBuilder(s).reverse().toString()