diff options
Diffstat (limited to 'in_class/cse123-inclass9/RecursiveMystery.java')
| -rw-r--r-- | in_class/cse123-inclass9/RecursiveMystery.java | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/in_class/cse123-inclass9/RecursiveMystery.java b/in_class/cse123-inclass9/RecursiveMystery.java new file mode 100644 index 0000000..c4f9806 --- /dev/null +++ b/in_class/cse123-inclass9/RecursiveMystery.java @@ -0,0 +1,38 @@ +public class RecursiveMystery {
+ public static void main(String[] args) {
+ // mystery1(3);
+ // mystery2(4);
+ mystery3("taco");
+ }
+
+ public static void mystery1(int n) {
+ if (n <= 1) {
+ System.out.print(n);
+ } else {
+ mystery1(n / 2);
+ System.out.print(", " + n);
+ }
+ }
+
+ public static void mystery2(int n) {
+ if (n <= 0) {
+ System.out.print("*");
+ } else if (n % 2 == 0) {
+ System.out.print("(");
+ mystery2(n - 1);
+ System.out.print(")");
+ } else {
+ System.out.print("[");
+ mystery2(n - 1);
+ System.out.print("]");
+ }
+ }
+
+ public static void mystery3(String str) {
+ if (!str.isEmpty()) {
+ System.out.print(str.charAt(0));
+ mystery3(str.substring(1));
+ System.out.print(str.charAt(0));
+ }
+ }
+}
|
