如何输出反向字符串数组java

时间:2016-10-27 22:58:48

标签: java arrays string

我正在尝试从用户反转数组String,我遇到一个问题,如何在不使用新数组的情况下放置元素。 我不知道应该写什么来输出内容。 但是,我尝试了大多数示例*(a [i],a [i + 1]),如果运行它我得到了null。

这是我的代码:

import java.util.Scanner;
public class ReverseArray {
    public static void main(String[] args) {
    int i=0;
    String temp =null;
    String o=null;
    int pos =0;
    String a [];
    Scanner kb = new Scanner (System.in);
    System.out.print("Enter a sentence: "); 
    o = kb.nextLine(); 
    a = new String [o.length()];

    for( i =0; i< (o.length()/2)-1; i++){
        temp = a[i];
         a[i] = a[o.length()-(i+1)];
         a[o.length()-(i+1)] = temp;
    }
}

2 个答案:

答案 0 :(得分:0)

Collections.reverse(asList(arraytoReverse));

将数组包装在asList()中,然后在创建的列表中调用集合'反向。

答案 1 :(得分:0)

它打印为null,因为您没有将字符串提供给字符串数组。因此,它打印null。如果要反转字符串数组,只需使用delimiter将字符串读入字符串数组即可。要反转它,您可以使用StringBuilderstring.append()方法来连接字符串。如果您只想反转字符串,请使用StringBuilderreverse()方法。请尝试以下代码:

public static void main(String[] args) {
    Scanner in = new Scanner(System.in);
    System.out.print("Enter a sentence: ");
    String str = in.nextLine();
    StringBuilder sb = new StringBuilder(str).reverse();
    System.out.println(sb.toString());

}

输出:

 Enter a sentence: This is a string
 gnirts a si sihT