import java.util.ArrayList; import java.util.Scanner; public class IntListTest { public static void main(String[] args) { new IntListTest(); } Scanner scan; IntListTest(){ scan = new Scanner(System.in); AvgIL intlist = new AvgIL(); System.out.println("Input integer or n|sum|avg|list|exit"); while(true) { String in = scan.next(); if ( in.equals("exit") ) { System.exit(0); } else if ( in.equals("list") ) { intlist.show(); } else if ( in.equals("n") ) { System.out.println("n="+intlist.size()); } else if ( in.equals("sum") ) { System.out.println("sum="+intlist.getSum()); } else if ( in.equals("avg") ) { System.out.println("avg="+intlist.getAvg()); } else if ( in.matches("[0-9]+") ){ // Int value int num = Integer.parseInt(in); intlist.add(num); // System.out.println("sum="+intlist.getSum()+" avg="+intlist.getAvg()+" n="+intlist.size()); } } } } class IntList { protected ArrayList<Integer> intlist; // storage of int values IntList(){ intlist = new ArrayList<Integer>(); } public void add(int n) { intlist.add(n); } public int size() { return intlist.size(); } public void show() { for(int k: intlist) { System.out.print(k+" "); } System.out.println(""); } } class SumIL extends IntList { protected float sum = 0; public void add(int n) { super.add(n); // update sum sum = 0; // for(int i=0; i<n ; i++){ } for(int k: intlist) { sum += k; } } public float getSum() { return sum; } } class AvgIL extends SumIL { private float avg = 0; public void add(int n) { super.add(n); // update avg avg = sum / size(); } public float getAvg() { return avg; } }