【发布时间】:2020-08-19 11:06:46
【问题描述】:
我是 java 新手,想反转用户输入的数组(包括字符),所以 apple、banana 变成 ananab、elppa。但它输出 [null]
package test;
import java.util.Arrays;
import java.util.Collections;
import javax.swing.JOptionPane;
public class WhileWarmup{
public static void main(String[] args) {
String shoppinglist = JOptionPane.showInputDialog("What do you want to manipulate");
String[]Shoppinglist = shoppinglist.split(",");
String[]Shoppinglist1 = shoppinglist.split(",");
int num = Shoppinglist.length;
String bruh = "";
String bruh1 = "";
while (num >= 0) {
Shoppinglist1 = Arrays.copyOfRange(Shoppinglist,num,num + 1);
Collections.reverse(Arrays.asList(Shoppinglist1));
bruh1 = Arrays.toString(Shoppinglist1);
bruh = bruh + bruh1;
num = num - 1;
System.out.println(bruh);
}
}
}
【问题讨论】:
-
你试过调试你的代码吗?在我看来,
Arrays.copyOfRange并没有像你认为的那样做。 -
这能回答你的问题吗? Reverse a string in Java
-
另请注意:您将自己的生活过于复杂化了。您想了解的问题:如何完全反转一些字符串数组。然后编写执行此操作的代码:尝试反转已知的 HARDCODED 字符串数组。你看,所有 Swing UI 的东西,以及在你的值中输入所花费的时间......这与你的根本问题无关。记住:将你的问题归结为核心,并摆脱任何对它没有贡献的东西。那么你就不需要在问题标题中给出你的例子了。然后你的代码会告诉我们你做了什么。
-
还有:了解 java 命名约定。变量名总是以驼峰命名。所以“Shopplinglist”听起来更像是某个类的名称。而且当然。真正的答案是:不要只是盲目地使用一些库方法。阅读相应的 java doc 以了解它应该做什么
-
最后:你期待什么?我不会说你在你的例子中使用的那个人的名字......基本上类似于一个空虚。将其反转导致 null 也就不足为奇了。
标签: java arrays list null reversing