返回数组和循环

时间:2013-01-14 00:09:31

标签: java arrays methods

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

2 个答案:

答案 0 :(得分: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;
}

注意:我不确定这条线上的确切语法,但这个想法很合理。就个人而言,我更愿意使用List

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

答案 1 :(得分:0)

  

您认为我的循环有任何问题吗?

是的,多个:你的代码就是我所说的坏代码。即使它做了你想做的事情(我也不确定),对于这么简单的任务来说,理解起来非常困难。

  1. 您使用xy作为反变量名称。当涉及多个计数器时,请勿这样做!很难理解计数器究竟是什么。
  2. 你的内循环正在搞乱外循环的反变量。如果这是设计的,请不要永远这样做。它使代码很难理解。
  3. 此外,如果数组应该像示例输出中那样保存类似于表(行和列)的内容,那么您将需要一个二维数组。


      

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

    是的,为什么不呢?您实际上正在使用两个值返回一个数组。但是,您可以从单个方法返回两个数组