如何交换字符串数组中的值?

Posted

技术标签:

【中文标题】如何交换字符串数组中的值?【英文标题】:How can I swap values in string array? 【发布时间】:2021-05-06 07:45:54 【问题描述】:

我想把data[0] 换成data[2]..

示例输入:hitman, 222, black, white

输出:222, hitman, black, white

public void display() 
    try 
        BufferedReader br = new BufferedReader(new FileReader("Database.txt"));
        String s = "";
        while ((s = br.readLine()) != null) 
            String data[] = new String[4];
            data = s.split(",");
            for (int i = 0; i < 4; i++) 
                int temp = 0;
                data[i] = data[i].replaceAll(", $", "");
                /// iwant to swap data[0] and data[1] in here
                System.out.print(data[i] + " ");
            
            System.out.println();
        
     catch (Exception e) 
    

【问题讨论】:

到目前为止你得到了什么?即使它不起作用,它也可以帮助我们知道从哪里开始为您提供帮助(我怀疑缺乏明显的努力是这个问题被标记下来的原因)。 我已经修改了 【参考方案1】:

很简单,只需将要替换的值存储在字符串中并重新赋值即可。

String[] data = "hitman", "222", "black", "white";
String tmp = data[0];
data[0] = data[1];
data[1] = tmp;

for (String i : data) 
    System.out.println(i);

输出:

222
hitman
black
white

【讨论】:

222、222、黑、白 那是因为您需要将数组的第 0 个索引值存储在一个字符串中,并将其重新分配给第 1 个索引。如上所述。 现在输出去了

以上是关于如何交换字符串数组中的值?的主要内容,如果未能解决你的问题,请参考以下文章

将数组3,7,1,6,2,4,8,5中的元素从大到小的顺序排列,每次可以任意交换两个元素,求最少的交换次数。

将数组8,23,4,16,77,-5,53,100中的元素按从大到小的顺序排列,最少需要交换几次?我知道答案是5次

如何使用交换函数和指针反转字符串数组? (C++)

如何交换字符数组的两个字符?在 c [关闭]

如何将字符串中的值分成数组

倒置字符数组中的字符