当前位置: 首页 > 面试题库 >

Java多维数组到字符串和字符串到数组

南宫正阳
2023-03-14
问题内容

我有阵列

data[][];

转换为字符串:

string = Arrays.deepToString(data);

串:

[[1, 1394119227787, 59474093, USD/DKK, true, 0.05, 5.391582, 5.00663, 5.39663, null, null], [1, 1394581174413, 59500543, EUR/JPY, false, 0.05, 142.489381, 145.3, 139.68, null, null],
[1, 1394581174413, 59500543, EUR/JPY, false, 0.05, 142.489381, 145.3, 139.68, null, null],
[1, 1394581174413, 59500543, EUR/JPY, false, 0.05, 142.489381, 145.3, 139.68, null, null]]

以及如何将此字符串转换回数组?


问题答案:

尝试我的stringToDeep()方法转换回Array。

import java.util.*;

public class DeepToArray {

public static void main(String[] args) {

    int row, col;
    row = 2;
    col = 3;
    String[][] in = new String[row][col];

    for (int i = 0; i < row; i++) {
        for (int j = 0; j < col; j++) {
            in[i][j] = i + " " + j;
        }
    }
    String str = Arrays.deepToString(in);

    System.out.println(str);

    String[][] out = stringToDeep(str);

    for (String s2[] : out) {
        for (String s3 : s2) {
            System.out.print(s3 + "  ");
        }
        System.out.println();
    }
}

private static String[][] stringToDeep(String str) {
    int row = 0;
    int col = 0;
    for (int i = 0; i < str.length(); i++) {
        if (str.charAt(i) == '[') {
            row++;
        }
    }
    row--;
    for (int i = 0;; i++) {
        if (str.charAt(i) == ',') {
            col++;
        }
        if (str.charAt(i) == ']') {
            break;
        }
    }
    col++;

    String[][] out = new String[row][col];

    str = str.replaceAll("\\[", "").replaceAll("\\]", "");

    String[] s1 = str.split(", ");

    int j = -1;
    for (int i = 0; i < s1.length; i++) {
        if (i % col == 0) {
            j++;
        }
        out[j][i % col] = s1[i];
        //System.out.println(s1[i] + "\t" + j + "\t" + i % col);
    }
    return out;
}
}


 类似资料:
  • 我试图获取任意长度的字符串[],并将其打印成字符串,最好使用字段分隔符。现在我有: 但是由于某种原因,它只是返回“第二个”值。我如何使它正确连接这些值? 另外,我可以使用来简化代码吗?谢谢

  • 问题内容: 我试图理解一个到字符串,一个的字符串表示形式到转换…我将我的转换成一个要发送的字符串,然后我希望我的Web服务(用python编写)将数据直接回显给客户端。 当我从Java应用程序发送数据时… 字节发送.. 发送(这是Arrays.toString()的结果,它应该是我的字节数据的字符串表示形式,该数据将通过电线发送): 在python端,python服务器将字符串返回给调用方(我可以

  • 问题内容: 我对此感到困惑,我需要一些新鲜的眼睛,我不确定为什么这段代码会这样做。 输出是直到最后一个数字(0xFC)返回-4为止的所有内容,我知道它是一个十六进制值,但是如果我对252的十进制值也一样,它也会给我一个负数。我希望这只是一个简单的解决方案,我看不到它。 提前谢谢。 问题答案: 字符串到char数组很简单 您能否再解释一下您要做什么? 更新 如果我理解您的新评论,则可以使用字节数组,

  • 问题内容: 我是Java新手,所以我几乎不需要帮助 我有 我想向此数组(脚本)添加新的字符串(string1,string2)作为示例 我想在以后的阶段中不添加新字符串 我该怎么办? 问题答案: 您无法在Java中调整数组的大小。 声明数组的大小后,它将保持固定。 相反,您可以使用具有动态大小的对象,这意味着您无需担心其大小。如果数组列表的大小不足以容纳新值,则它将自动调整大小。

  • 我想做一个名为句子的字符串,包含“你好,世界,你好吗?”

  • 我目前正在学习如何做流,同时做一些作业以获得乐趣(代码的问世)。虽然我知道如何使用临时数组来实现,但我不知道流的正确语法,甚至不知道是否可以在一行中实现。