diff --git a/src/IntListTest.java b/src/IntListTest.java new file mode 100644 index 0000000..98363b9 --- /dev/null +++ b/src/IntListTest.java @@ -0,0 +1,92 @@ +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 intlist; // storage of int values + + IntList() { + intlist = new ArrayList(); + } + + 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 { + private float sum = 0; + + public void add(int n) { + super.add(n); + // update sum + sum = 0; + 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 + float s = getSum(); + System.out.println("sum="+s); + avg = -99999; + } + + public float getAvg() { + return avg; + } +} \ No newline at end of file