Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/EmptyTag/144.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我正在尝试反转用户输入的数组,如{你好,唐纳德,特朗普}->;pmurT、dlanoD等,但其输出为[null]_Java_Arrays_List_Null_Reversing - Fatal编程技术网

Java 我正在尝试反转用户输入的数组,如{你好,唐纳德,特朗普}->;pmurT、dlanoD等,但其输出为[null]

Java 我正在尝试反转用户输入的数组,如{你好,唐纳德,特朗普}->;pmurT、dlanoD等,但其输出为[null],java,arrays,list,null,reversing,Java,Arrays,List,Null,Reversing,我是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) {

我是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);
        }
    }
}

在反转字符串时,
StringBuilder#reverse
总是存在的:

    public static void main(String[] args) {
        List<String> wordList = Arrays.asList("hello", "Donald", "Trump");
        System.out.println(reverseListAndItsElements(wordList));
    }

    public static List<String> reverseListAndItsElements(List<String> list) {
        List<String> reversed = new ArrayList<>(list);//Create a copy
        Collections.reverse(reversed);
        return reversed.stream().map(s -> new StringBuilder(s).reverse().toString())
            .collect(Collectors.toList());
    }

您可以使用以下代码

public static List<String> reverseList(List<String> list) {
        List<String> reversed = new ArrayList<>(list);
        Collections.reverse(reversed);
        return reversed.stream().collect(Collectors.toList());
    }
公共静态列表反向列表(列表列表){
列表反转=新的ArrayList(列表);
收款。反向(反向);
返回reversed.stream().collect(Collectors.toList());
}

此代码可用于字符串数组反向实现。有很多方法可以反转字符串。一个是使用我使用过的StringBuilder

public class Main
{
 static String[] arr={"hello", "Donald", "Trump"};
  public static void main (String[]args)
 {
String[] strA=  reverseTheString(arr);

for(int i=0;i<strA.length;i++){
    System.out.println(""+strA[i]);
}
}
公共类主
{
静态字符串[]arr={“你好”、“唐纳德”、“特朗普”};
公共静态void main(字符串[]args)
{
字符串[]strA=反向字符串(arr);
对于(inti=0;i试试这个

String[] input = {"hello", "Donald", "Trump"};
String[] reversed = new StringBuilder(String.join(",", input))
    .reverse().toString().split(",");
System.out.println(Arrays.toString(reversed));
输出:

[pmurT, dlanoD, olleh]

你试过调试你的代码吗?在我看来,
Arrays.copyOfRange
并没有做你认为它能做的事情。这回答了你的问题吗?还要注意:你的生活太过复杂了。你想理解的问题是:如何完全反转某些字符串数组。然后编写这样做的代码:尝试反转字符串数组已知的硬编码字符串数组。你看,所有Swing UI的东西,以及键入值所花费的时间……都与你的根本问题无关。请记住:将你的问题减少到核心,并消除任何与之无关的东西。然后你就不需要在问题标题中给出你的示例。然后你的代码会告诉我们您做了什么。另外:了解java命名约定。变量名总是按大小写的。所以“Shopplinglist”听起来很像某个类的名称。当然,真正的答案是:不要盲目地使用一些库方法。阅读相应的java文档以了解它应该做什么。最后:你期望什么?我不想说你在示例中使用的那个人的名字…基本上类似于一个空的空格。这并不奇怪我想反转一个数组而不是一个数组string@WilliamGreenfield我更新了我的答案。顺便说一下,你的标题说你想反转字符串。我宁愿反转数组而不是字符串string@WilliamGreenfield问题的标题暗示了另一种情况。所以:明确你的要求。你问了“how to do X”,这个答案解释了你的要求。我更新了代码,它只会颠倒元素的顺序。希望它能帮助你不确定为什么它被否决。它给出了所需的结果,用户没有编写任何特定的算法/逻辑来使用。
String[] input = {"hello", "Donald", "Trump"};
String[] reversed = new StringBuilder(String.join(",", input))
    .reverse().toString().split(",");
System.out.println(Arrays.toString(reversed));
[pmurT, dlanoD, olleh]