Add Assignment 12
This commit is contained in:
parent
47c42b0c6a
commit
760af16e58
27 changed files with 312 additions and 0 deletions
10
Assignement12/.classpath
Normal file
10
Assignement12/.classpath
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<classpath>
|
||||||
|
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-14">
|
||||||
|
<attributes>
|
||||||
|
<attribute name="module" value="true"/>
|
||||||
|
</attributes>
|
||||||
|
</classpathentry>
|
||||||
|
<classpathentry kind="src" path="src"/>
|
||||||
|
<classpathentry kind="output" path="bin"/>
|
||||||
|
</classpath>
|
17
Assignement12/.project
Normal file
17
Assignement12/.project
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<projectDescription>
|
||||||
|
<name>Assignement12</name>
|
||||||
|
<comment></comment>
|
||||||
|
<projects>
|
||||||
|
</projects>
|
||||||
|
<buildSpec>
|
||||||
|
<buildCommand>
|
||||||
|
<name>org.eclipse.jdt.core.javabuilder</name>
|
||||||
|
<arguments>
|
||||||
|
</arguments>
|
||||||
|
</buildCommand>
|
||||||
|
</buildSpec>
|
||||||
|
<natures>
|
||||||
|
<nature>org.eclipse.jdt.core.javanature</nature>
|
||||||
|
</natures>
|
||||||
|
</projectDescription>
|
14
Assignement12/.settings/org.eclipse.jdt.core.prefs
Normal file
14
Assignement12/.settings/org.eclipse.jdt.core.prefs
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
eclipse.preferences.version=1
|
||||||
|
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
|
||||||
|
org.eclipse.jdt.core.compiler.codegen.targetPlatform=14
|
||||||
|
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
|
||||||
|
org.eclipse.jdt.core.compiler.compliance=14
|
||||||
|
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
|
||||||
|
org.eclipse.jdt.core.compiler.debug.localVariable=generate
|
||||||
|
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
|
||||||
|
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
|
||||||
|
org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
|
||||||
|
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
|
||||||
|
org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
|
||||||
|
org.eclipse.jdt.core.compiler.release=enabled
|
||||||
|
org.eclipse.jdt.core.compiler.source=14
|
1
Assignement12/Lab12-Part-A.drawio
Normal file
1
Assignement12/Lab12-Part-A.drawio
Normal file
|
@ -0,0 +1 @@
|
||||||
|
<mxfile host="Electron" modified="2020-11-15T04:09:32.474Z" agent="5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/13.7.9 Chrome/85.0.4183.121 Electron/10.1.3 Safari/537.36" etag="Qsv6C8H1Drkr9tHO2TkY" version="13.7.9" type="device"><diagram id="bmmjwFzcDrLNMM-SirQ1" name="Page-1">7Vnfb9owEP5rkLYHJpJASh8htNsDraoxdc8mcROvTg455lf/+p2xnRACLWPNqDQkhOLP54t933c+K255Qbr6KsgsuYOI8pbbiVYtb9Ry3euuj/8KWGvAd7oaiAWLNOSUwIS9UAN2DDpnEc0rhhKASzargiFkGQ1lBSNCwLJq9gS8+tYZiWkNmISE19GfLJKJRvu9Tol/oyxO7JudjulJiTU2QJ6QCJZbkHfT8gIBIPVTugooV7GzcdHjbg/0FhMTNJPHDPh1z10nX4drcv/IbtvtRzIZt22YF4TPzYqHZrpybWOQL1nKSYat4RNkcmJ6HGwTzuIMn0OcBBUILKiQDMM3MB0SZoiGCePRmKxhrqaaSxI+29YwAcFe0C3hxid2C2mU4PoVi4kaiXAHUUFztHmw63d2oDuyqhiOSS4NEALnZJazabGMlIiYZUOQElJjZOKCy6GrgxF3Ch5R/xRSKsUaTewA30TXaN/tmGRYlkoqbJJtFVkREaPeuPBdEowPhuM/4dup8d1W2UkkGba8gRqOa9sVAIZAbogR8EwD4IBMjzLQimCc70BWFJw+yYOSyGckZFk83tiMuiXy3cRBQYBjn/gmaxIWRTRTdILE2WruFFEzwClv4tQb4g8jF3S+9Fo9nHiAbads40+ZCxlAhmshbEMjRWEsqRLHcZy/kkd1JVjmjyTe2r0/726N9xrLnG3Y0yzbzc45ieIUyeK05PSHonzUdmq8e3XevT0cczKl/AFyJhko/0Lb7nB/Nnp77nH09pti19vD7lCVu0+fdVYvAB0odXmO3txUb2x7LznfgCisAN4SRbepvd6viSK4lPaGSrvnX527tF8drOzBJctPz3L/Yxf2/qWuN0buucv69aWqf7R8P3tRr5/jB5ei3lBR7x5JttNpageon+ttTR9s5bjPFS9TgU+xFr9G5iWgNoaITuexHjYF4JRk1hDntmX7n24Z26miXCcytQo/fTdx3+X04HUb0lf3cnpojNxjS0VTe0fvcnr496eHNyTRP/Ppwakn/M1K0izKa1wjOFD3J9iaclBVfIiQKfOOr5u3TL1//3ZJo9rNyk4hxvfBXIT0tQmbSOARI6YnBH5fpAXlRLJFdXL7Qm3cPcAmF+wpoV89JBRurQe9JjNo+z5mx0/B8iFHes01RxviiyX+hRbqG8TH1oJ/pBQOfZdrQAtur8qhu/t152gx7DhyPP+dxIDN8o5Rm5cXtd7Nbw==</diagram></mxfile>
|
BIN
Assignement12/Lab12-Part-A.png
Normal file
BIN
Assignement12/Lab12-Part-A.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 15 KiB |
1
Assignement12/Lab12-Part-B.drawio
Normal file
1
Assignement12/Lab12-Part-B.drawio
Normal file
|
@ -0,0 +1 @@
|
||||||
|
<mxfile host="Electron" modified="2020-11-15T16:58:23.106Z" agent="5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/13.7.9 Chrome/85.0.4183.121 Electron/10.1.3 Safari/537.36" etag="SDiABLDUwlX9_6uIxOXt" version="13.7.9" type="device"><diagram id="r-wSGhtTe-w-saC_SL-o" name="Page-1">7Vrbbts4EP0aA90HB7rbfvQlSQukW2+drXf7xkiMRIQWDYpO5H79Dk3K1s2XpLKTBQQYhmY0HJE8Z4YzkDr2eJHecrSMvrIA045lBGnHnnQsa+B48C8Va6XwzJ5ShJwESmXuFDPyC2ulobUrEuCkYCgYo4Isi0qfxTH2RUGHOGcvRbNHRotPXaIQVxQzH9Gqdk4CESlt3zV2+s+YhFH2ZNPQdxYoM9aKJEIBe8mp7OuOPeaMCXW1SMeYyr3L9kWNu9lzdzsxjmNxygC/697NBg/231/+QvNb9jQ1Zl7XVV6eEV3pBV+nAsdBoucs1tlGgHIo9xOkB8r8p449ApUGzPSUeEPgkfbEACkSC3lpyhspEf9I9ZWrpX+1kbyepHlhrQX1fBxU0NktV6sStuK+thr86UeWd/PjpzCD6T1Z9v1v825GG8RDrIcGN7E7RN/TcObfTuar+YymPWWn9+4WswUWfA3jXnawm57GkmOKBHkuzg1pqoXbsVt3U0Zg1paho6Kv3WQx4TlFD2pJelAe0pIfyzniSK254gguckvcqTaMeQV7vEuwp0EmuB+OCaZVRNDpvZEKtll0ZPcvS4XeZROJYw5yqaRrXBmmdTCfSGGKOYF1Yt58jhl8PGbZJWaVCXFyknHtK6PnDSxb/ZtFt8Zledav8OwUgiUwK1HDOk0zMzPJyb+dgfbjfwJP3IvxxCllINt6I0/c/hFHzTHj0DGfY8ZXlE6QQBOSLClaV3iSvJAFRTFIo0cWi5m+IxFHlIQxXPsAsEwXo2fMBYGqcKhvCLYErR8RGtyhNVtJLIFB/lMmjSLGyS9wiwoE02nO8goWMzlSJyWOE7CZZtwySypYU8HwDiVCK3xGKVom5GG7jAXsOIlHTAi2KOS8GurKFeI0p6qyLztqSoklKzrqyBnlauO+t5+bBTK8Fnmrgnx3U4CnP5RmKB1o0uUJAOsVG2A4e8JjRpk8GGKmGAGZoKTKSEHxo9hLiWSJfBKHdxubibPTfNcbIVUMxj7STTKKSBDgWMLJBHBVYSeBWso42eyUO4If7OdY1s8uTHwMsrmT4SfNuRizGNaCyAZZDMR4wZIcNZgfDKDjRNDIW95pwFvnAt4+fhhQssFOYZx1cOabAF4AVBTvEL2XgE+6ZgV1u4q6XYMwRQ+YTllCBGHSP1e2JeTfC1zXOjGqz4StU4MtLNZYLQMk8Kc/VFg/M3DSxnWz0Gcwv1tcDyrYjxgPMG9P8+ZPc+etx3mmaxx9s1rJtWn9SKQ0fmafK62b1WKtzesXwt4+MbKbyOuHut8c9m1Gbz6jlxs0qzc4Dfftu4vGga/v0CDg0T0bYU0AHKjYl5xoY3+L/8FI+pC9Wu2M217tfOBesFernfC+Xi3EcisErDY71+WWqJ2SRJMvLeSutOf/RWhyal/nnKuyr75t/kwSwUKOFm0hcP5C4P1bu+pbwvYQOBIr/5vOru7NXJvYLwL9uzd21cReW8S3ifxtidwtfdxhOdWObvvFXKGjayKT1yJe/fRHdnS+qvZUqA85R+s7OOCh1qMSoC9wMwRwLS9U0bAtAeVY9pBgDnuS7BldqBAyD20iOVQhNnGG1PLKcc5Eq7ZAOB+4vWr5XwvuubrEfQXCa7pEFAT3LLMGs0JVUbIVbCY4IJZ5VVLVpYCzIPqUSy+HnMZMkMf1kNJvWbpqK5tzcrZ/ImetV5MWxN3H1+ojpN0X7Pb1fw==</diagram></mxfile>
|
BIN
Assignement12/Lab12-Part-B.png
Normal file
BIN
Assignement12/Lab12-Part-B.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 39 KiB |
BIN
Assignement12/bin/A.class
Normal file
BIN
Assignement12/bin/A.class
Normal file
Binary file not shown.
BIN
Assignement12/bin/B.class
Normal file
BIN
Assignement12/bin/B.class
Normal file
Binary file not shown.
BIN
Assignement12/bin/BorderDataDisplay.class
Normal file
BIN
Assignement12/bin/BorderDataDisplay.class
Normal file
Binary file not shown.
BIN
Assignement12/bin/C.class
Normal file
BIN
Assignement12/bin/C.class
Normal file
Binary file not shown.
BIN
Assignement12/bin/Data.class
Normal file
BIN
Assignement12/bin/Data.class
Normal file
Binary file not shown.
BIN
Assignement12/bin/DataDisplay.class
Normal file
BIN
Assignement12/bin/DataDisplay.class
Normal file
Binary file not shown.
BIN
Assignement12/bin/HistogramDataDisplay.class
Normal file
BIN
Assignement12/bin/HistogramDataDisplay.class
Normal file
Binary file not shown.
BIN
Assignement12/bin/MaxDataDisplay.class
Normal file
BIN
Assignement12/bin/MaxDataDisplay.class
Normal file
Binary file not shown.
BIN
Assignement12/bin/PartA.class
Normal file
BIN
Assignement12/bin/PartA.class
Normal file
Binary file not shown.
BIN
Assignement12/bin/PartB.class
Normal file
BIN
Assignement12/bin/PartB.class
Normal file
Binary file not shown.
21
Assignement12/src/A.java
Normal file
21
Assignement12/src/A.java
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
|
||||||
|
public class A {
|
||||||
|
private int dataA;
|
||||||
|
public static boolean debug;
|
||||||
|
|
||||||
|
public A(int a) {
|
||||||
|
if (A.debug) {
|
||||||
|
System.out.println("constructor A is being called!");
|
||||||
|
}
|
||||||
|
this.dataA = a;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void f() {
|
||||||
|
|
||||||
|
System.out.println("method f() from class A is being called");
|
||||||
|
}
|
||||||
|
|
||||||
|
public int g() {
|
||||||
|
return this.dataA + 1;
|
||||||
|
}
|
||||||
|
}
|
23
Assignement12/src/B.java
Normal file
23
Assignement12/src/B.java
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
|
||||||
|
public class B extends A {
|
||||||
|
private int dataB;
|
||||||
|
|
||||||
|
public B(int a, int b) {
|
||||||
|
super(a);
|
||||||
|
if (A.debug) {
|
||||||
|
System.out.println("constructor B is being called!");
|
||||||
|
}
|
||||||
|
this.dataB = b;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void f() {
|
||||||
|
|
||||||
|
System.out.println("method f() from class B is being called");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int g() {
|
||||||
|
return 2 * super.g() + dataB;
|
||||||
|
}
|
||||||
|
}
|
15
Assignement12/src/BorderDataDisplay.java
Normal file
15
Assignement12/src/BorderDataDisplay.java
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
|
||||||
|
public class BorderDataDisplay extends DataDisplay {
|
||||||
|
|
||||||
|
public BorderDataDisplay(String name, Data subject) {
|
||||||
|
super(name, subject);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void update() {
|
||||||
|
System.out.println("*".repeat(25));
|
||||||
|
super.update();
|
||||||
|
System.out.println("*".repeat(25));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
22
Assignement12/src/C.java
Normal file
22
Assignement12/src/C.java
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
|
||||||
|
public class C extends B {
|
||||||
|
private int dataC;
|
||||||
|
|
||||||
|
public C(int a, int b, int c) {
|
||||||
|
super(a, b);
|
||||||
|
if (A.debug) {
|
||||||
|
System.out.println("constructor C is being called!");
|
||||||
|
}
|
||||||
|
this.dataC = c;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void f() {
|
||||||
|
System.out.println("method f() from class B is being called");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int g() {
|
||||||
|
return super.g() - 10 + dataC * 3;
|
||||||
|
}
|
||||||
|
}
|
40
Assignement12/src/Data.java
Normal file
40
Assignement12/src/Data.java
Normal file
|
@ -0,0 +1,40 @@
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
|
|
||||||
|
public class Data {
|
||||||
|
|
||||||
|
private ArrayList<DataDisplay> observers = new ArrayList<DataDisplay>();
|
||||||
|
private ArrayList<Integer> content;
|
||||||
|
|
||||||
|
public Data() {
|
||||||
|
content = new ArrayList<Integer>();
|
||||||
|
}
|
||||||
|
|
||||||
|
public int[] getContent() {
|
||||||
|
int[] result = new int[content.size()];
|
||||||
|
for (int i = 0; i < result.length; i++) {
|
||||||
|
result[i] = content.get(i);
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void addToContent(int x) {
|
||||||
|
content.add(x);
|
||||||
|
System.out.println("\nData: " + x + " is added.");
|
||||||
|
notifyAllObservers();
|
||||||
|
}
|
||||||
|
|
||||||
|
public String toString() {
|
||||||
|
return Arrays.toString(content.toArray());
|
||||||
|
}
|
||||||
|
|
||||||
|
public void attach(DataDisplay observer) {
|
||||||
|
observers.add(observer);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void notifyAllObservers() {
|
||||||
|
for (DataDisplay observer : observers) {
|
||||||
|
observer.update();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
19
Assignement12/src/DataDisplay.java
Normal file
19
Assignement12/src/DataDisplay.java
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
|
||||||
|
public class DataDisplay {
|
||||||
|
String name;
|
||||||
|
private Data dataToBeDisplayed;
|
||||||
|
|
||||||
|
public DataDisplay(String name, Data subject) {
|
||||||
|
dataToBeDisplayed = subject;
|
||||||
|
this.name = name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int[] getContent() {
|
||||||
|
return dataToBeDisplayed.getContent();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void update() {
|
||||||
|
System.out.println(getClass() + ": " + name);
|
||||||
|
System.out.println("\t" + dataToBeDisplayed);
|
||||||
|
}
|
||||||
|
}
|
25
Assignement12/src/HistogramDataDisplay.java
Normal file
25
Assignement12/src/HistogramDataDisplay.java
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
import java.util.Arrays;
|
||||||
|
|
||||||
|
public class HistogramDataDisplay extends DataDisplay {
|
||||||
|
|
||||||
|
public HistogramDataDisplay(String name, Data subject) {
|
||||||
|
super(name, subject);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void update() {
|
||||||
|
System.out.println(getClass() + ": " + name);
|
||||||
|
int[] sortedArray = super.getContent();
|
||||||
|
Arrays.sort(sortedArray);
|
||||||
|
int lastVal = -1;
|
||||||
|
for (int i : sortedArray) {
|
||||||
|
if (i == lastVal)
|
||||||
|
System.out.print("*");
|
||||||
|
else {
|
||||||
|
System.out.format("%s%d\t*",(lastVal==-1)?"":"\n", i);
|
||||||
|
lastVal=i;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
System.out.println();
|
||||||
|
}
|
||||||
|
}
|
15
Assignement12/src/MaxDataDisplay.java
Normal file
15
Assignement12/src/MaxDataDisplay.java
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
|
||||||
|
public class MaxDataDisplay extends DataDisplay {
|
||||||
|
int maxValue=0;
|
||||||
|
public MaxDataDisplay(String name, Data subject) {
|
||||||
|
super(name, subject);
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public void update() {
|
||||||
|
System.out.println(getClass() + ": " + name);
|
||||||
|
for(int i : super.getContent()) this.maxValue = Math.max(this.maxValue, i);
|
||||||
|
System.out.println(this.maxValue);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
63
Assignement12/src/PartA.java
Normal file
63
Assignement12/src/PartA.java
Normal file
|
@ -0,0 +1,63 @@
|
||||||
|
|
||||||
|
public class PartA {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
testConstructor();
|
||||||
|
A a = new A(2);
|
||||||
|
A b = new B(3, 4);
|
||||||
|
A c = new C(5, 6, 7);
|
||||||
|
testF(a, b, c);
|
||||||
|
testG(a, b, c);
|
||||||
|
testA();
|
||||||
|
testB();
|
||||||
|
testC();
|
||||||
|
}
|
||||||
|
private static void testF(A a, A b, A c) {
|
||||||
|
System.out.println("--- Test f() of A, B, C ---");
|
||||||
|
a.f();
|
||||||
|
System.out.println("------------------------------");
|
||||||
|
b.f();
|
||||||
|
System.out.println("------------------------------");
|
||||||
|
c.f();
|
||||||
|
System.out.println("------------------------------");
|
||||||
|
}
|
||||||
|
private static void testG(A a, A b, A c) {
|
||||||
|
System.out.println("--- Test g() of A, B, C ------");
|
||||||
|
System.out.println(a.getClass() + ": " + a.g());
|
||||||
|
System.out.println("------------------------------");
|
||||||
|
System.out.println(b.getClass() + ": " + b.g());
|
||||||
|
System.out.println("------------------------------");
|
||||||
|
System.out.println(c.getClass() + ": " + c.g());
|
||||||
|
System.out.println("------------------------------");
|
||||||
|
}
|
||||||
|
public static void testConstructor() {
|
||||||
|
A.debug = true;
|
||||||
|
A a = new A(2);
|
||||||
|
System.out.println("------------------------------");
|
||||||
|
A b = new B(3, 4);
|
||||||
|
System.out.println("------------------------------");
|
||||||
|
A c = new C(5, 6, 7);
|
||||||
|
System.out.println("------------------------------");
|
||||||
|
A.debug = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void testA() {
|
||||||
|
System.out.format("new A(2).g() -> %d, [expected] -> %d\n", new A(2).g(), 3);
|
||||||
|
System.out.format("new A(-1).g() -> %d, [expected] -> %d\n", new A(-1).g(), 0);
|
||||||
|
System.out.format("new A(-10).g() -> %d, [expected] -> %d\n", new A(-10).g(), -9);
|
||||||
|
System.out.format("new A(0).g() -> %d, [expected] -> %d\n", new A(0).g(), 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void testB() {
|
||||||
|
System.out.format("new B(0, 0).g() -> %d, [expected] -> %d\n", new B(0, 0).g(), 2);
|
||||||
|
System.out.format("new B(-2, 3).g() -> %d, [expected] -> %d\n", new B(-2, 3).g(), 1);
|
||||||
|
System.out.format("new B(2, -3).g() -> %d, [expected] -> %d\n", new B(2, -3).g(), 3);
|
||||||
|
System.out.format("new B(4, 5).g() -> %d, [expected] -> %d\n", new B(4, 6).g(), 16);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void testC() {
|
||||||
|
System.out.format("new C(0, 0, 0).g() -> %d, [expected] -> %d\n", new C(0, 0, 0).g(), -8);
|
||||||
|
System.out.format("new C(2, 4, 3).g() -> %d, [expected] -> %d\n", new C(2, 4, 3).g(), 9);
|
||||||
|
System.out.format("new C(-1, -3, -5).g() -> %d, [expected] -> %d\n", new C(-1, -3, 5).g(), 2);
|
||||||
|
System.out.format("new C(5, 2, 10).g() -> %d, [expected] -> %d\n", new C(5, 2, 10).g(), 34);
|
||||||
|
}
|
||||||
|
}
|
26
Assignement12/src/PartB.java
Normal file
26
Assignement12/src/PartB.java
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
import java.util.Scanner;
|
||||||
|
|
||||||
|
public class PartB {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
Data d = new Data();
|
||||||
|
DataDisplay display = new DataDisplay("General Display", d);
|
||||||
|
DataDisplay maxDisplay = new MaxDataDisplay("MAX-Display", d);
|
||||||
|
DataDisplay histogram = new HistogramDataDisplay("Histogram", d);
|
||||||
|
DataDisplay border = new BorderDataDisplay("Display-with-border", d);
|
||||||
|
d.attach(display);
|
||||||
|
d.attach(maxDisplay);
|
||||||
|
d.attach(histogram);
|
||||||
|
d.attach(border);
|
||||||
|
|
||||||
|
Scanner kbd = new Scanner(System.in);
|
||||||
|
while (true) {
|
||||||
|
System.out.println("------------------------------");
|
||||||
|
System.out.print("Enter an integer >= 0: ");
|
||||||
|
int x = kbd.nextInt();
|
||||||
|
if (x < 0)
|
||||||
|
break;
|
||||||
|
d.addToContent(x);
|
||||||
|
}
|
||||||
|
System.out.println("--- FINISH ---");
|
||||||
|
}
|
||||||
|
}
|
Loading…
Add table
Add a link
Reference in a new issue