如何反转数组输出?例如"peter"
至"retep"
或"max"
至"xam"
我尝试使用收藏品,但它无效
这是我的代码:
import java.util.Scanner;
import java.util.Collections;
public class sdf {
public static void main (String[] args) {
Scanner input = new Scanner(System.in);
String[] my_friend_names = new String[10];
for (int i = 0; i < my_friend_names.length; i++) {
my_friend_names[i] = input.nextLine();
}
for(int i = 0; i < my_friend_names.length; i++) {
System.out.println("Name: " + my_friend_names[i]);
}
Collections.reverse(input);
System.out.println("After Reverse order: " +input);
}
}
答案 0 :(得分:3)
似乎你创建了一个字符串数组,但是继续尝试反转输入。 如果你想使用集合,你可以这样做:
List<String> list = Arrays.asList(my_friend_names);
Collections.reverse(list);
System.out.println("After Reverse order: " + list);
答案 1 :(得分:1)
您发布的代码无法编译,例如您在扫描仪变量上调用Collections.reverse()。
可能对你有帮助的事情。
示例,使用StringBuilder.reverse()更新用反转的String替换数组中的每个项目
String[] my_friend_names = { "fred", "alice" };
for (int i = 0; i < my_friend_names.length; i++) {
my_friend_names[i] = new StringBuilder(my_friend_names[i])
.reverse().toString();
}
System.out.println(Arrays.toString(my_friend_names));
输出
[derf, ecila]
答案 2 :(得分:0)
我认为这是从char[]
制作String
的最佳方式,与char[]
相反,并将其转换回String
。
这样的事情应该可以胜任:
Scanner input = new Scanner(System.in);
String[] my_friend_names = new String[10];
for (int i = 0; i < my_friend_names.length; i++) {
my_friend_names[i] = input.nextLine();
}
input.close();
for(String name : my_friend_names) {
System.out.println("Name: " + name);
}
for(int i=0; i<my_friend_names.length; i++) {
char[] characters=my_friend_names[i].toCharArray();
List<char[]> reverse=Arrays.asList(characters);
Collections.reverse(reverse);
my_friend_names[i]=new String(characters);
}
System.out.println("After Reverse order: ");
for(String name : my_friend_names) {
System.out.println("Name: " + name);
}
让我知道它是否有效 快乐编码:) -Charlie
答案 3 :(得分:0)
您正在尝试打印出类似于Scanner的input
。尝试使用StringBuilder
Scanner input = new Scanner(System.in);
String[] my_friend_names = new String[10];
for (int i = 0; i < my_friend_names.length; i++) {
my_friend_names[i] = input.nextLine();
String reversedName = new StringBuilder(my_friend_names[i]).reverse().toString();
System.out.println("After reverse: " + reversedName);
}