java - ArrayList不打印所有元素

标签 java arraylist

我编写了一个程序,该程序接受用户输入的字符串。 (例如:175-24-56-5) 该程序获取该字符串并将其放入 ArrayList 中。我遇到的问题是,当我尝试打印 ArrayList 时,最后一个数字(应该在 ArrayList 中)没有打印。

这是我的该方法的代码:

    public void dc(String txt) {
    ArrayList<String> unkey = new ArrayList<String>();
    int l = txt.length();
    int x = 0;
    String xx = "";
    String k = "";
    for (int j = l; j > 0; j--) {
        xx = Character.toString(txt.charAt(x));
        System.out.println(xx);
        if (xx.equals("-")) {
            unkey.add(k);
            k = "";
        } else {
            k += xx;
        }
        x++;
    }
    System.out.println(l);
    System.out.println(unkey);
    System.out.println(x);
}

应该已经打印了

{175, 24, 56, 5}

但它只打印

{175, 24, 56}

我对此还比较陌生。有什么帮助吗?提前致谢..

最佳答案

您的问题在于 for 循环条件,您缺少第 0 个元素。所以你的for循环条件应该是>= 0并以l-1开始

您可以使用以下内容,而不是逐个字符地解析字符串:

String[] numbers = txt.split("-");//Using List<String> stringList = Arrays.asList(number); you can convert to list.
for (int i =0; i< numbers.length(); i++) {
    System.out.println(numbers[i]);
}

关于java - ArrayList不打印所有元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27174917/

相关文章:

java - 在 Java 中将文本文件转换为 JSON

java - hibernate使用其他类ID作为这个类ID

java - 在测试类中打印 toString() 方法输出

java - 无法从 ArrayList 获取值

java - arraylist 部分的最大值?

Java - 复制数组列表对象

javascript - react native Android : Resizing native UI Component causes black out

java - Java 中声明时初始化的实例变量

java - Alfresco 无法处理文件上传

java - 无法迭代传递给方法的列表