java - 使用 ArrayList 的帕斯卡三角形

标签 java exception arraylist

您好,我正在尝试使用 arraylist 创建一个帕斯卡三角形,在下面的代码第 25 行中出现并发修改异常,请帮忙,我是使用 arraylist 的新手。 第 25 行是 .. temp = i.next();

public class PascalT {

    public static void main(String[] args) {
        // TODO Auto-generated method stub

        Scanner s = new Scanner(System.in);
        System.out.println("enter number");
        int inp = s.nextInt();
        s.close();
        ArrayList<ArrayList<String>> g = new ArrayList<ArrayList<String>>(inp);
        ArrayList<String> t1 = new ArrayList<>();
        t1.add("1");
        t1.add("1");
        g.add(t1);
        int ii = 0;
        ArrayList<String> temp;
        Iterator<ArrayList<String>> i = g.iterator();
        while (i.hasNext() & ii < inp) {
            temp = i.next();
            Iterator<String> i2 = temp.iterator();
            ArrayList<String> tmp = new ArrayList<String>();
            tmp.add("1");
            String temp2 = "";
            while (i2.hasNext()) {
                temp2 = Integer.toString(Integer.parseInt(i2.next())
                        + Integer.parseInt(i2.next()));
                tmp.add(temp2);
            }
            tmp.add("1");
            g.add(tmp);
            tmp.clear();
            ii++;
        }

        for (ArrayList<String> al : g) {
            System.out.println("line");
            String row = "";
            for (String sss : al) {
                row = row + " " + sss;
            }
            System.out.println(row);
        }
    }
}

最佳答案

您无法在迭代列表时修改列表。 ig 上的迭代器。在循环结束时,当您执行 g.add(tmp) 时,它会使迭代器无效,下次尝试使用它时,您会收到异常。

我会建议一种方法来为您修复它,但是您选择的变量名称很糟糕,我不知道您的代码在做什么,而且我也懒得弄清楚。我认为,简单地摆脱 i 并用 g.get(ii) 替换 temp = i.next() 应该可以解决问题。

关于java - 使用 ArrayList 的帕斯卡三角形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34167971/

相关文章:

java - 多对多关系的属性 (Hibernate)

java - 尝试查找数据库表中是否存在某个项目(如果不存在)。添加它

java - 如何查找 java mvc Web 应用程序中应用的区域设置?

python - 如何获取 decimal.Inexact 异常的值?

java - 除了用于日志记录目的之外,还有处理 selenium 异常的要点吗?

java - 使用 Java Streams 过滤对象的 ArrayList 以返回 String 类型的 ArrayList

java - 问题将递增的类成员变量添加到循环内的数组列表

java - 用Java从集合中过滤元素的简单方法?

java - 如何添加 jar 文件并使用命令提示符进行编译? (错误: A JNI error has occured,请检查您的安装)

java - 如何使用java中的方法来存储arraylist中的信息