Welcome to DrJava. > import java.util.*; > List ls = new ArrayList(); > ls.add(3) true > ls.add(40); > ls.(-12); Syntax Error: ". (" > ls.add(-120); > ls [3, 40, -120] > ls.get(2) -120 > sum = 0 0 > ls.size() 3 > for (int i = 0; i < ls.size(); i++) { sum = sum + ls.get(i); } Error: Bad type in addition > ls [3, 40, -120] > for (int i = 0; i < ls.size(); i++) { sum = sum + (int)ls.get(i); } Error: Bad cast > for (int i = 0; i < ls.size(); i++) { sum = sum + (Integer)ls.get(i); } > sum -77 > for (Integer i : ls) sum = sum + i; > sum -154 > sum = 0 0 > for (Iterator it; it.hasNext(); ) sum += it.next(); Error: Bad type in addition > for (Iterator it; it.hasNext(); ) sum += (Integer) it.next(); NullPointerException: at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) > for (Iterator it = ls.iterator(); it.hasNext(); ) sum += (Integer) it.next(); > sum -77 > Iterator it = ls.iterator() > it.next() 3 > it.next() 40 > it.next() -120 > it.next() NoSuchElementException: at java.util.AbstractList$Itr.next(AbstractList.java:427) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) >