当前位置: 首页 > 知识库问答 >
问题:

我必须创建一个DeepParray2String方法,它需要一个二维int数组“x”并返回它的字符串表示形式

司空胤
2023-03-14
public String deepArray2String(int[][] a1){

    StringBuffer result = new StringBuffer();
    for (int i = 0; i < a1.length; i++) {
        for (int j = 0; j < a1[i].length; j++) {
            result.append("[" + a1[i][j] + "]");
            if (j == a1.length && i != a1.length-1) {
                result.append(",");
            }
        }
    }
    return result;
}

System.out.println(deepArray2String(new int[][]{{1},{2},{4}}));

输出应为[1]、[2]、[4]]

System.out.println(deepArray2String(new int[][]{{1},{2,3}}));

System.out.println(deepArray2String(new int[][]{{5,3},{1},{-1,1}}));

输出应为[[5,3],[1],[-1,1]]

共有1个答案

田意致
2023-03-14

没有必要推倒重来,Java已经在Java.util.Arrays中构建了一个静态方法来实现这一点。自动装箱意味着它可以处理任何基元类型的数组。

import java.util.Arrays;
import org.junit.Test;
import lombok.extern.slf4j.Slf4j;

@Slf4j
public class ExampleTest {

    @Test
    public void test() {
        log.info(Arrays.deepToString(new int[][] { { 1 }, { 2 }, { 4 } }));    
        log.info(Arrays.deepToString(new int[][] { { 1 }, { 2, 3 } }));    
        log.info(Arrays.deepToString(new int[][] {}));
        log.info(Arrays.deepToString(new int[][] { { 5, 3 }, { 1 }, { -1, 1 } }));
    }
}

结果

[main] INFO coaching.arrays.ExampleTest - [[1], [2], [4]]
[main] INFO coaching.arrays.ExampleTest - [[1], [2, 3]]
[main] INFO coaching.arrays.ExampleTest - []
[main] INFO coaching.arrays.ExampleTest - [[5, 3], [1], [-1, 1]]

参数的工作方式完全相同。

@Test
public void test() {
    int[][] a = new int[][] { { 1 }, { 2 }, { 4 } };
    log.info(Arrays.deepToString(a));

    int[][] a2 = new int[][] { { 1 }, { 2, 3 } };
    log.info(Arrays.deepToString(a2));

    int[][] a3 = new int[][] {};
    log.info(Arrays.deepToString(a3));

    int[][] a4 = new int[][] { { 5, 3 }, { 1 }, { -1, 1 } };
    log.info(Arrays.deepToString(a4));
}
 类似资料:
  • 我有一个作业,我必须允许一个用户使用二次方程来绘制一个图形。 我设法绘制了图形的骨架,现在我正在尝试显示“控制面板”供用户输入值。 我有4个文件: < li> < li> < Li > < code > panelb . Java < Li > < code > panelc . Java 我的问题是,当我运行代码时,它只显示,即使在容器中,它也应该显示其他两个面板。 有人能建议我应该做什么改变来

  • 问题内容: 我想合并/合并两个表,并让它创建一个字段来标识它来自哪个表。我看到了SQL的答案,但我不需要最大值。我只需要合并两个表。这是我当前通过访问查询进行的联合查询的SQL。 SELECT [TableA]。[1As],[TableA]。[2As] UNION SELECT [TableB]。[1As],[TableA]。[2As]; 我希望这些表创建whattabl字段,并根据它来自的表来填

  • 问题 你想由数组创建一个字符串。 解决方案 使用 JavaScript 的数组方法 toString(): ["one", "two", "three"].toString() # => 'one,two,three' 讨论 toString() 是一个标准的 JavaScript 方法。不要忘记圆括号。

  • > 每x秒发出一批元组(或单个元组中的字符串列表)。我如何实现这一点?我读了一些关于Storm Trident的文章,但它的似乎不允许我以特定的时间间隔批量发出元组。 如果没有新的数据进来,喷口应该怎么做?它不能阻挡线程,因为它是Storm的主线程,对吧?

  • 为什么返回而不是像或这样的较小类型?我的理解是,这个方法只返回-1、0或1。 第二部分,如果我要设计一个比较方法来比较两个类型的对象,并且我只想返回-1、0或1,那么使用或通常是个好主意吗? 编辑:我已经更正,不返回-1,0或1,它实际上返回一个值 答案似乎大致是,没有理由返回小于的类型,因为返回值是右值,而这些右值不会受益于小于int类型(4字节)。此外,许多人指出,大多数系统的寄存器可能会有大

  • 我在处理我的第一个烧瓶Web应用程序时遇到了此错误。在这个应用程序中,我试图通过使用Uber H3和haversine公式来获得两点之间的距离。我是这方面的初学者,所以任何帮助将不胜感激。 类型错误:视图函数未返回有效响应。返回类型必须是字符串、字典、元组、响应实例或 WSGI 可调用,但它是一个 int。