From 34cac28b1abecdff4f01dcd5f11ad81260bf7b31 Mon Sep 17 00:00:00 2001 From: Grace Tsao <47228306+gracet9182@users.noreply.github.com> Date: Thu, 12 Sep 2019 20:46:13 -0400 Subject: [PATCH] Changed JavaExamples to JavaExample --- .../csc207/javaexamples/ArrayExample.java | 21 ++++ .../uoft/csc207/javaexamples/ForExample.java | 13 +++ .../uoft/csc207/javaexamples/JavaExample.java | 12 +++ .../csc207/javaexamples/JavaExamples.java | 96 ------------------- .../csc207/javaexamples/MainActivity.java | 15 ++- .../csc207/javaexamples/ObjectExample.java | 10 ++ .../csc207/javaexamples/WhileExample.java | 14 +++ 7 files changed, 82 insertions(+), 99 deletions(-) create mode 100644 app/src/main/java/uoft/csc207/javaexamples/ArrayExample.java create mode 100644 app/src/main/java/uoft/csc207/javaexamples/ForExample.java create mode 100644 app/src/main/java/uoft/csc207/javaexamples/JavaExample.java delete mode 100644 app/src/main/java/uoft/csc207/javaexamples/JavaExamples.java create mode 100644 app/src/main/java/uoft/csc207/javaexamples/ObjectExample.java create mode 100644 app/src/main/java/uoft/csc207/javaexamples/WhileExample.java diff --git a/app/src/main/java/uoft/csc207/javaexamples/ArrayExample.java b/app/src/main/java/uoft/csc207/javaexamples/ArrayExample.java new file mode 100644 index 0000000..349b59f --- /dev/null +++ b/app/src/main/java/uoft/csc207/javaexamples/ArrayExample.java @@ -0,0 +1,21 @@ +package uoft.csc207.javaexamples; + +import java.util.Arrays; + +public class ArrayExample extends JavaExample { + @Override + public String doExample() { + String karen = "Karen"; + String mike = "Mike"; + String paul = "Paul"; + String[] myStrings; + myStrings = new String[]{karen, mike, paul, "Moogah"}; + + // What does this do? + myStrings[0] = myStrings[1]; + myStrings[1] = myStrings[2]; + myStrings[2] = myStrings[0]; + + return Arrays.toString(myStrings); + } +} diff --git a/app/src/main/java/uoft/csc207/javaexamples/ForExample.java b/app/src/main/java/uoft/csc207/javaexamples/ForExample.java new file mode 100644 index 0000000..5004a91 --- /dev/null +++ b/app/src/main/java/uoft/csc207/javaexamples/ForExample.java @@ -0,0 +1,13 @@ +package uoft.csc207.javaexamples; + +public class ForExample extends JavaExample { + @Override + public String doExample() { + int sum = 0; + for (int i = 1; i != 11; i++) { + sum = sum + i; + } + return "For: sum of 1 through 10 is " + sum; + } + +} diff --git a/app/src/main/java/uoft/csc207/javaexamples/JavaExample.java b/app/src/main/java/uoft/csc207/javaexamples/JavaExample.java new file mode 100644 index 0000000..97a4d7c --- /dev/null +++ b/app/src/main/java/uoft/csc207/javaexamples/JavaExample.java @@ -0,0 +1,12 @@ +package uoft.csc207.javaexamples; + +import java.util.Arrays; +import java.util.regex.Pattern; + +/** + * Examples of Java constructs. + */ +abstract class JavaExample { + + abstract public String doExample(); +} diff --git a/app/src/main/java/uoft/csc207/javaexamples/JavaExamples.java b/app/src/main/java/uoft/csc207/javaexamples/JavaExamples.java deleted file mode 100644 index 4d4cb20..0000000 --- a/app/src/main/java/uoft/csc207/javaexamples/JavaExamples.java +++ /dev/null @@ -1,96 +0,0 @@ -package uoft.csc207.javaexamples; - -import java.util.Arrays; -import java.util.regex.Pattern; - -/** - * Examples of Java constructs. - */ -public class JavaExamples { - - /** - * Demonstrate Java: if statements, while loops, arrays, and so on. - * - * @param input - * @return the result. - */ - public String doJavaExamples(String input) { - String result = null; - switch (input) { - case MainActivity.WHILE_EXAMPLE: - result = doSumWhileLoop(); - break; - case MainActivity.FOR_EXAMPLE: - result = doSumForLoop(); - break; - case MainActivity.ARRAY_EXAMPLE: - result = doStringArrayExample(); - break; - case MainActivity.OBJECT_EXAMPLE: - result = doObjectExample(); - break; - default: - result = "Unexpected input"; - } - return result; - } - - /** - * Create a Person and return the toString value. - * @return the printable representation of the Person. - */ - private String doObjectExample() { - String name = "Justin Pierre James Trudeau"; - Person primeMinister = new Person("trudeauj", name.split(" ")); - return primeMinister.toString(); - } - - /** - * Sum the numbers 1 through 10 using a while loop and return a sentence containing the result. - * - * @return a sentence containing the sum of 1 through 10. - */ - private String doSumWhileLoop() { - int i = 0; - int sum = 0; - while (i != 10) { - i = i + 1; - sum = sum + i; - } - return "While: sum of 1 through 10 is " + sum; - } - - /** - * Sum the numbers 1 through 10 using a for loop and return a sentence containing the result. - * - * @return a sentence containing the sum of 1 through 10. - */ - private String doSumForLoop() { - int sum = 0; - for (int i = 1; i != 11; i++) { - sum = sum + i; - } - - return "For: sum of 1 through 10 is " + sum; - } - - /** - * Create a String array and manipulate it. - * - * @return - */ - private String doStringArrayExample() { - String karen = "Karen"; - String mike = "Mike"; - String paul = "Paul"; - String[] myStrings; - myStrings = new String[]{karen, mike, paul, "Moogah"}; - - // What does this do? - myStrings[0] = myStrings[1]; - myStrings[1] = myStrings[2]; - myStrings[2] = myStrings[0]; - - return Arrays.toString(myStrings); - } -} diff --git a/app/src/main/java/uoft/csc207/javaexamples/MainActivity.java b/app/src/main/java/uoft/csc207/javaexamples/MainActivity.java index ef3eb7c..e77269e 100644 --- a/app/src/main/java/uoft/csc207/javaexamples/MainActivity.java +++ b/app/src/main/java/uoft/csc207/javaexamples/MainActivity.java @@ -15,6 +15,7 @@ import android.widget.ArrayAdapter; import android.widget.EditText; import android.widget.Spinner; +import java.util.HashMap; public class MainActivity extends AppCompatActivity { @@ -22,7 +23,6 @@ public class MainActivity extends AppCompatActivity { * The title of the app. */ private static final String TAG = "Java Examples"; - /** The spinner menu items. */ public final static String WHILE_EXAMPLE = "While loop example"; public final static String FOR_EXAMPLE = "For loop example"; @@ -35,10 +35,19 @@ public class MainActivity extends AppCompatActivity { */ private final String[] whatToDo = {WHILE_EXAMPLE, FOR_EXAMPLE, ARRAY_EXAMPLE, OBJECT_EXAMPLE}; + HashMapmymap = new HashMap() { + { + put(WHILE_EXAMPLE, new WhileExample()); + put(FOR_EXAMPLE, new ForExample()); + put(ARRAY_EXAMPLE, new ArrayExample()); + put(OBJECT_EXAMPLE, new ObjectExample()); + + } + }; + /** * The examples to choose from. */ - private JavaExamples examples = new JavaExamples(); @Override protected void onCreate(Bundle savedInstanceState) { @@ -88,7 +97,7 @@ public void doJavaExamples(View view) { EditText outputText = (EditText) findViewById(R.id.outputText); Spinner spinner = (Spinner) findViewById(R.id.javaSpinner); String choice = spinner.getSelectedItem().toString(); - String result = examples.doJavaExamples(choice); + String result = mymap.get(choice).doExample(); outputText.setText(result); } diff --git a/app/src/main/java/uoft/csc207/javaexamples/ObjectExample.java b/app/src/main/java/uoft/csc207/javaexamples/ObjectExample.java new file mode 100644 index 0000000..742d57f --- /dev/null +++ b/app/src/main/java/uoft/csc207/javaexamples/ObjectExample.java @@ -0,0 +1,10 @@ +package uoft.csc207.javaexamples; + +public class ObjectExample extends JavaExample { + @Override + public String doExample() { + String name = "Justin Pierre James Trudeau"; + Person primeMinister = new Person("trudeauj", name.split(" ")); + return primeMinister.toString(); + } +} diff --git a/app/src/main/java/uoft/csc207/javaexamples/WhileExample.java b/app/src/main/java/uoft/csc207/javaexamples/WhileExample.java new file mode 100644 index 0000000..7605577 --- /dev/null +++ b/app/src/main/java/uoft/csc207/javaexamples/WhileExample.java @@ -0,0 +1,14 @@ +package uoft.csc207.javaexamples; + +public class WhileExample extends JavaExample { + @Override + public String doExample() { + int i = 0; + int sum = 0; + while (i != 10) { + i = i + 1; + sum = sum + i; + } + return "While: sum of 1 through 10 is " + sum; + } +}