Skip to content

Commit f1aa5d3

Browse files
committed
resources, more recursion
1 parent a58eb9f commit f1aa5d3

4 files changed

Lines changed: 55 additions & 3 deletions

File tree

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ This module is actually for two calendar weeks, as there's no class on Monday Ja
66

77
## [Module 2](Spring2016/Week2.md) - Full programs and setup
88

9+
## Module 3 - Conditionals and Recursion
910

10-
11-
## Other Resoources
11+
## Other Resources
1212
* [Resources](content/Resources.md)

Samples/src/main/java/okaram/samples/RecursionSamples.java

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,35 @@
11
package okaram.samples;
22

33
public class RecursionSamples {
4-
4+
5+
public static String stringTimes(String base, int times) {
6+
if(times<=0)
7+
return "";
8+
else
9+
return base + stringTimes(base, times-1);
10+
}
11+
12+
public static String stringTimesAccum(String base, int times, String Accum) {
13+
if(times<=0)
14+
return Accum;
15+
else
16+
return stringTimesAccum(base, times-1, base+Accum);
17+
}
18+
19+
public int pow(int base, int exponent) {
20+
if(exponent<=0)
21+
return 1;
22+
else
23+
return base*pow(base,exponent-1);
24+
}
25+
26+
public int factorial(int n) {
27+
if(n<=0)
28+
return 1;
29+
else
30+
return n*factorial(n-1);
31+
}
32+
533
public static void main(String[] args) {
634
// TODO Auto-generated method stub
735

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package okaram.samples;
2+
3+
import org.junit.Test;
4+
import org.junit.Assert;
5+
import static org.junit.Assert.*;
6+
7+
public class TestRecursionSamples {
8+
@Test
9+
public void testStringTimes(){
10+
assertEquals("abababab", RecursionSamples.stringTimes("ab", 4));
11+
assertEquals("aaa", RecursionSamples.stringTimes("a", 3));
12+
}
13+
14+
@Test
15+
public void testStringTimesAccum(){
16+
assertEquals("abababab", RecursionSamples.stringTimesAccum("ab", 4,""));
17+
assertEquals("aaa", RecursionSamples.stringTimesAccum("a", 3,""));
18+
}
19+
}

content/Resources.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,3 +11,8 @@ Java Learning Resources
1111
## Sites
1212
* [CodingBat](http://codingbat.com)
1313
* [Java Repl](http://www.javarepl.com/console.html)
14+
+ [/r/learnJava](https://www.reddit.com/r/learnjava), [/r/java](https://www.reddit.com/r/java), [/r/learnprogramming](https://www.reddit.com/r/learnprogramming) - reddit (message boards) for java-related topics
15+
16+
## Online courses and MOOCs
17+
+ [Java tutorial for Complete Beginners](https://www.udemy.com/java-tutorial/) - seems great, uses Eclipse too, follows roughly the same order
18+
+ [U of Helsinki's MOOCs](http://mooc.fi/english.html) - Seem good, very different order

0 commit comments

Comments
 (0)