From f45c4aaace6d36542817e9cdfa2bb4c9161b1500 Mon Sep 17 00:00:00 2001 From: chickenmilkcream Date: Thu, 12 Sep 2019 12:59:07 -0400 Subject: [PATCH] Refactored and added IFoption --- .../uoft/csc207/javaexamples/JavaExample.java | 96 +++++++++++++++++++ .../csc207/javaexamples/JavaExamples.java | 96 ------------------- .../csc207/javaexamples/MainActivity.java | 23 +++-- .../csc207/javaexamples/arrayExample.java | 21 ++++ .../uoft/csc207/javaexamples/forExample.java | 12 +++ .../uoft/csc207/javaexamples/ifExample.java | 11 +++ .../csc207/javaexamples/objectExample.java | 11 +++ .../csc207/javaexamples/whileExample.java | 13 +++ 8 files changed, 180 insertions(+), 103 deletions(-) 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/arrayExample.java create mode 100644 app/src/main/java/uoft/csc207/javaexamples/forExample.java create mode 100644 app/src/main/java/uoft/csc207/javaexamples/ifExample.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/JavaExample.java b/app/src/main/java/uoft/csc207/javaexamples/JavaExample.java new file mode 100644 index 0000000..f3450a5 --- /dev/null +++ b/app/src/main/java/uoft/csc207/javaexamples/JavaExample.java @@ -0,0 +1,96 @@ +package uoft.csc207.javaexamples; + +import java.util.Arrays; +import java.util.regex.Pattern; + +/** + * Examples of Java constructs. + */ +public abstract class JavaExample { + + /** + * 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; +// } + public abstract String doJavaExample(); + /** + * 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/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..a99daef 100644 --- a/app/src/main/java/uoft/csc207/javaexamples/MainActivity.java +++ b/app/src/main/java/uoft/csc207/javaexamples/MainActivity.java @@ -1,14 +1,12 @@ package uoft.csc207.javaexamples; -import android.os.Bundle; +import java.util.HashMap; -import com.google.android.material.floatingactionbutton.FloatingActionButton; -import com.google.android.material.snackbar.Snackbar; +import android.os.Bundle; import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.widget.Toolbar; -import android.util.Log; import android.view.View; import android.view.Menu; import android.view.MenuItem; @@ -28,17 +26,26 @@ public class MainActivity extends AppCompatActivity { public final static String FOR_EXAMPLE = "For loop example"; public final static String ARRAY_EXAMPLE = "String array example"; public final static String OBJECT_EXAMPLE = "Object example"; + public final static String IF_EXAMPLE = "If example"; + /** * The list of choices for the spinner that allows the user to choose which * Java feature to demonstrate. */ - private final String[] whatToDo = {WHILE_EXAMPLE, FOR_EXAMPLE, ARRAY_EXAMPLE, OBJECT_EXAMPLE}; + private final String[] whatToDo = {WHILE_EXAMPLE, FOR_EXAMPLE, ARRAY_EXAMPLE, OBJECT_EXAMPLE, IF_EXAMPLE}; /** * The examples to choose from. */ - private JavaExamples examples = new JavaExamples(); +// private JavaExample examples = new JavaExample(); + HashMap examples = new HashMap(); + {examples.put(WHILE_EXAMPLE, new whileExample()); + examples.put(FOR_EXAMPLE, new forExample()); + examples.put(ARRAY_EXAMPLE, new arrayExample()); + examples.put(OBJECT_EXAMPLE, new objectExample()); + examples.put(IF_EXAMPLE, new ifExample());} + @Override protected void onCreate(Bundle savedInstanceState) { @@ -88,7 +95,9 @@ 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 = examples.doJavaExamples(choice); + String result = examples.get(choice).doJavaExample(); + outputText.setText(result); } 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..321b952 --- /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 doJavaExample() { + 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..fbdae03 --- /dev/null +++ b/app/src/main/java/uoft/csc207/javaexamples/forExample.java @@ -0,0 +1,12 @@ +package uoft.csc207.javaexamples; + +public class forExample extends JavaExample { + public String doJavaExample() { + 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/ifExample.java b/app/src/main/java/uoft/csc207/javaexamples/ifExample.java new file mode 100644 index 0000000..929a86b --- /dev/null +++ b/app/src/main/java/uoft/csc207/javaexamples/ifExample.java @@ -0,0 +1,11 @@ +package uoft.csc207.javaexamples; + +public class ifExample extends JavaExample { + public String doJavaExample(){ + if (true) { + return "hello"; + } else { + return "nvm"; + } + } +} 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..d9d311d --- /dev/null +++ b/app/src/main/java/uoft/csc207/javaexamples/objectExample.java @@ -0,0 +1,11 @@ +package uoft.csc207.javaexamples; + +public class objectExample extends JavaExample { + + @Override + public String doJavaExample() { + 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..c4b8f39 --- /dev/null +++ b/app/src/main/java/uoft/csc207/javaexamples/whileExample.java @@ -0,0 +1,13 @@ +package uoft.csc207.javaexamples; + +public class whileExample extends JavaExample { + public String doJavaExample(){ + int i = 0; + int sum = 0; + while (i != 10) { + i = i + 1; + sum = sum + i; + } + return "While: sum of 1 through 10 is " + sum; + } +}