【问题标题】:Print ArrayList of Arrays in Java在 Java 中打印数组的 ArrayList
【发布时间】:2015-05-07 18:30:53
【问题描述】:

我创建了一个数组的 ArrayList,但我不知道如何打印它们。 这是我想要做的:

    int j=0;
    for (int i=0; i<aArray.length-1; i++){
        exp=new int[100];
        if (Character.isDigit(aArray[i])){
            if(Character.isDigit(aArray[i])==true &&  aArray[i-1]=='-'){
                exp[j]=Character.getNumericValue(-(aArray[i]));
            }
            else{
                exp[j]=Character.getNumericValue(aArray[i]);
            }
            System.out.print(exp[j]);

            j++;   
        }
    }
    System.out.println(" ");
    list.add(exp);
}
for (int i=0; i<5; i++){
    System.out.println(list.get(i)[i]);
}  

我得到的只是 5 个零。我错过了什么?实际上,我在我的程序中读取了一个 .txt 文件,而我要做的就是将每个数组的数字分开并写入 exp[] 数组中,然后将它们保存在列表中(ArrayList of Arrays)。

【问题讨论】:

  • System.out.println(list.get(i)[i]); 使用这个,您只打印ith 数组的ith 索引。如果要打印二维的东西,通常需要两个 for 循环。
  • 是的,我知道这是错误的,但它无能为力.. 当 exp 数组包含 0,1,-1 时,我得到的只是零。
  • aArray,是包含数字的数组,但也包含逗号,以及“{”或“[”等其他字符。
  • 因为我为 (int i=0; i
  • 您需要提供完整的代码。具体来说,您应该包括所有变量的声明和初始化。顺便说一句,我强烈建议选择更好的变量名称(例如,aArray 没有告诉我任何关于数组应该表示或包含的内容)以使代码更具可读性。

标签: java arrays arraylist


【解决方案1】:

添加一个 for 循环来遍历列表中的每个数组:

for (int i=0; i<5; i++){
    int[] tmp = list.get(i);
    for (int j=0; j<tmp.length; j++) {
         System.out.println(tmp[j]);
    }
}

编辑:您还需要将数组添加到 for 循环内的数组列表中,否则您将添加一个空数组。

for (int i=0; i<aArray.length-1; i++){
    exp=new int[100];
    if (Character.isDigit(aArray[i])){
        if(Character.isDigit(aArray[i])==true &&  aArray[i-1]=='-'){
            exp[j]=Character.getNumericValue(-(aArray[i]));
        }
        else{
            exp[j]=Character.getNumericValue(aArray[i]);
        }
        System.out.print(exp[j]);

        j++;   
    }
    System.out.println(" ");
    list.add(exp);
}

【讨论】:

  • 谢谢,但我仍然得到零。当我打印 exp 数组时,我得到了正确的值,但是当我尝试使用 ArrayList 时,我得到的只是 0。
  • 谢谢。现在我有另一个问题。无论我在 list.get(i) 中给出什么“i”,我都会得到相同的数组。
【解决方案2】:

问题解决了,我只需要在“for”循环之外初始化 exp 数组,放置一个“while”循环就可以了! 感谢您的回答!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多