Java 如何反转数组中的所有字符串?
如何反转阵列输出?像彼得后撤或者马克斯后撤 我试图使用集合,但它不起作用 这是我的代码:Java 如何反转数组中的所有字符串?,java,java.util.scanner,reverse,Java,Java.util.scanner,Reverse,如何反转阵列输出?像彼得后撤或者马克斯后撤 我试图使用集合,但它不起作用 这是我的代码: 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 =
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);
}
}
您发布的代码无法编译,例如,您在scanner变量上调用Collections.reverse 可能对你有帮助的事情 您假设Collections.reverse将反转数组中的字符串-它不会,它只是反转字符串的顺序,例如。 Collections.reverse在java.util.List上工作不是一个基本数组,如果需要,可以使用Arrays.toList StringBuilder提供了一个句柄反转方法 例如,使用StringBuilder.reverse更新并使用反转字符串替换数组中的每个项
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));
我认为这是从字符串生成char[]的最佳方法,将该char[]反转并将其转换回字符串 像这样的东西应该可以完成这项工作:
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似乎您创建了一个字符串数组,但随后继续尝试反转输入。 如果要使用集合,可以执行以下操作:
List<String> list = Arrays.asList(my_friend_names);
Collections.reverse(list);
System.out.println("After Reverse order: " + list);
您正在尝试打印扫描仪类型的输入。尝试使用StringBuilder
澄清。是否要反转数组中项目的顺序?或者颠倒项目中字母的顺序?欢迎使用Stack Overflow SO。请阅读底线是,您提供的源代码与您提出的问题不一致。我认为你不明白你要解决的问题
List<String> list = Arrays.asList(my_friend_names);
Collections.reverse(list);
System.out.println("After Reverse order: " + list);
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);
}