我正在尝试从用户反转数组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;
}
}
答案 0 :(得分:0)
Collections.reverse(asList(arraytoReverse));
将数组包装在asList()中,然后在创建的列表中调用集合'反向。
答案 1 :(得分:0)
它打印为null,因为您没有将字符串提供给字符串数组。因此,它打印null
。如果要反转字符串数组,只需使用delimiter
将字符串读入字符串数组即可。要反转它,您可以使用StringBuilder
和string.append()
方法来连接字符串。如果您只想反转字符串,请使用StringBuilder
和reverse()
方法。请尝试以下代码:
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