0

我是 Java 新手,被分配设计一个程序,该程序从文件中获取输入并将其插入到数组的某些部分,然后导出该数据。我有将文件读入字符串数组的代码。

两个问题:

1.)如何创建一个循环来创建一个带有空白数据的编号列表?(请参阅下面的代码片段)我正在尝试创建一个如下所示的列表:

1 0000 0000 00000 ...
2 0000 0000 00000 ...

您在下面看到我的循环有什么问题吗?

for (int x = 0; x < array.length; x++) {
        array[x] = Integer.toString(y);
        y++;
            while (x < 16) {
            x++;
            array[x] = "00000";
            }
    }

2.) 我可以使用一种方法返回两个数组值吗?我想填充两个数组,然后返回它们的值以用于其他方法。我找到了一种可以使用的方法,但我不确定如何正确实施它。我在下面有一个代码片段:

    public static Object[] rtrStr() {
    //...blah blah
    return new Object[]{array1, array2};}
4

2 回答 2

0

2) 如果您愿意,您可以返回一个(或List)数组:

public static String[][] rtrStr() {
    // ...blah blah
    String[][] arr = new String[][2]; // syntax might not be exactly correct

    arr[0] = array1;
    arr[1] = array2;
}

注意:我不确定上述行的确切语法,但这个想法是合理的。就个人而言,我更喜欢使用 aList代替。

话虽如此,您应该考虑每个数组中数据的含义。创建一个包装数组并阐明语义的自定义类可能是有意义的。这也使得从任何方法返回数组或列表变得更容易,因为元素将是新自定义类的对象。

于 2013-01-14T00:15:29.170 回答
0

您在下面看到我的循环有什么问题吗?

是的,多个:你的代码就是我所说的坏代码。即使它可以满足您的要求(我不确定),对于这样一个简单的任务也很难理解。

  1. 您正在使用xandy作为反变量名称。当涉及多个计数器时不要这样做!很难准确理解什么计数器在计算什么。
  2. 您的内循环与外循环的反变量相混淆。如果这是设计使然,请永远不要这样做。它使代码非常难以理解。

此外,如果数组应该包含类似于示例输出中的表(行和列),则需要一个二维数组。


我可以使用一个方法返回两个数组值吗?

是的,为什么不?您实际上返回的是一个包含两个值的数组。但是,您不能单个方法返回两个数组。

于 2013-01-14T00:26:55.577 回答