繁体   English   中英

返回数组并循环

[英]Returning arrays and looping

我是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)如果需要,可以返回一个数组(或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

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

您在下面看到我的循环是否有任何问题?

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

  1. 您正在使用xy作为反变量名称。 当涉及多个计数器时,请勿这样做! 很难确切地知道哪个计数器在计数什么。
  2. 您的内循环使您的外循环的反变量混乱了。 如果那是设计使然,那就永远不要这样做。 这使得代码很难理解。

同样,如果数组应该像示例输出中那样保存表格(行和列)之类的东西,则将需要一个二维数组。


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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM