返回数组和循环

问题描述:

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

您的循环是否符合您的期望?问题1的 –

+0

,什么是y?什么是幻数16?对于问题2,你有很多方法来做到这一点。 array [] [],List,Map – Kent

+0

我想要一个循环来完成上面的列表。为了保持数组索引的顺序,我放入了y变量,但我没有从中得到我想要的。 –

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. 你的内部循环与外部循环的反变量相混淆。如果这是由设计,不要有史以来做到这一点。它使代码很难理解。

另外,如果数组应该像表格(行和列)那样保存类似于您的示例输出中的内容,则需要一个二维数组。


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

是的,为什么不呢?你实际上返回一个阵列与两个值。但是,您可以从单一方法而不是返回两个阵列