diff --git a/.gitignore b/.gitignore index 32858aa..d9944c5 100644 --- a/.gitignore +++ b/.gitignore @@ -1,12 +1,5 @@ -*.class +/bin/ -# Mobile Tools for Java (J2ME) -.mtj.tmp/ - -# Package Files # -*.jar -*.war -*.ear - -# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml -hs_err_pid* +/.metadata/ +/.recommenders/ +/RemoteSystemsTempFiles/ diff --git a/ap01/.classpath b/ap01/.classpath new file mode 100644 index 0000000..fceb480 --- /dev/null +++ b/ap01/.classpath @@ -0,0 +1,6 @@ + + + + + + diff --git a/ap01/.gitignore b/ap01/.gitignore new file mode 100644 index 0000000..ae3c172 --- /dev/null +++ b/ap01/.gitignore @@ -0,0 +1 @@ +/bin/ diff --git a/ap01/.project b/ap01/.project new file mode 100644 index 0000000..33fd3dd --- /dev/null +++ b/ap01/.project @@ -0,0 +1,17 @@ + + + JP + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + diff --git a/ap01/.settings/org.eclipse.jdt.core.prefs b/ap01/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..3a21537 --- /dev/null +++ b/ap01/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,11 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.8 +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.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.8 diff --git a/ap01/Series.java b/ap01/src/Series.java similarity index 100% rename from ap01/Series.java rename to ap01/src/Series.java diff --git a/ap01/SeriesTest.java b/ap01/src/SeriesTest.java similarity index 100% rename from ap01/SeriesTest.java rename to ap01/src/SeriesTest.java diff --git a/ap02/.classpath b/ap02/.classpath new file mode 100644 index 0000000..fceb480 --- /dev/null +++ b/ap02/.classpath @@ -0,0 +1,6 @@ + + + + + + diff --git a/ap02/.gitignore b/ap02/.gitignore new file mode 100644 index 0000000..ae3c172 --- /dev/null +++ b/ap02/.gitignore @@ -0,0 +1 @@ +/bin/ diff --git a/ap02/.project b/ap02/.project new file mode 100644 index 0000000..33fd3dd --- /dev/null +++ b/ap02/.project @@ -0,0 +1,17 @@ + + + JP + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + diff --git a/ap02/.settings/org.eclipse.jdt.core.prefs b/ap02/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..3a21537 --- /dev/null +++ b/ap02/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,11 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.8 +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.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.8 diff --git a/ap02/Drawing.java b/ap02/src/Drawing.java similarity index 100% rename from ap02/Drawing.java rename to ap02/src/Drawing.java diff --git a/ap02/Mickey.java b/ap02/src/Mickey.java similarity index 100% rename from ap02/Mickey.java rename to ap02/src/Mickey.java diff --git a/ap02/Moire.java b/ap02/src/Moire.java similarity index 100% rename from ap02/Moire.java rename to ap02/src/Moire.java diff --git a/ch01/.classpath b/ch01/.classpath new file mode 100644 index 0000000..fceb480 --- /dev/null +++ b/ch01/.classpath @@ -0,0 +1,6 @@ + + + + + + diff --git a/ch01/.gitignore b/ch01/.gitignore new file mode 100644 index 0000000..ae3c172 --- /dev/null +++ b/ch01/.gitignore @@ -0,0 +1 @@ +/bin/ diff --git a/ch01/.project b/ch01/.project new file mode 100644 index 0000000..33fd3dd --- /dev/null +++ b/ch01/.project @@ -0,0 +1,17 @@ + + + JP + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + diff --git a/ch01/.settings/org.eclipse.jdt.core.prefs b/ch01/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..3a21537 --- /dev/null +++ b/ch01/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,11 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.8 +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.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.8 diff --git a/ch01/Goodbye.java b/ch01/src/Goodbye.java similarity index 100% rename from ch01/Goodbye.java rename to ch01/src/Goodbye.java diff --git a/ch01/Hello.java b/ch01/src/Hello.java similarity index 100% rename from ch01/Hello.java rename to ch01/src/Hello.java diff --git a/ch02/.classpath b/ch02/.classpath new file mode 100644 index 0000000..fceb480 --- /dev/null +++ b/ch02/.classpath @@ -0,0 +1,6 @@ + + + + + + diff --git a/ch02/.gitignore b/ch02/.gitignore new file mode 100644 index 0000000..ae3c172 --- /dev/null +++ b/ch02/.gitignore @@ -0,0 +1 @@ +/bin/ diff --git a/ch02/.project b/ch02/.project new file mode 100644 index 0000000..33fd3dd --- /dev/null +++ b/ch02/.project @@ -0,0 +1,17 @@ + + + JP + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + diff --git a/ch02/.settings/org.eclipse.jdt.core.prefs b/ch02/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..3a21537 --- /dev/null +++ b/ch02/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,11 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.8 +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.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.8 diff --git a/ch02/Variables.java b/ch02/src/Variables.java similarity index 100% rename from ch02/Variables.java rename to ch02/src/Variables.java diff --git a/ch03/.classpath b/ch03/.classpath new file mode 100644 index 0000000..fceb480 --- /dev/null +++ b/ch03/.classpath @@ -0,0 +1,6 @@ + + + + + + diff --git a/ch03/.gitignore b/ch03/.gitignore new file mode 100644 index 0000000..ae3c172 --- /dev/null +++ b/ch03/.gitignore @@ -0,0 +1 @@ +/bin/ diff --git a/ch03/.project b/ch03/.project new file mode 100644 index 0000000..33fd3dd --- /dev/null +++ b/ch03/.project @@ -0,0 +1,17 @@ + + + JP + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + diff --git a/ch03/.settings/org.eclipse.jdt.core.prefs b/ch03/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..3a21537 --- /dev/null +++ b/ch03/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,11 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.8 +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.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.8 diff --git a/ch03/Convert.java b/ch03/src/Convert.java similarity index 100% rename from ch03/Convert.java rename to ch03/src/Convert.java diff --git a/ch03/Echo.java b/ch03/src/Echo.java similarity index 100% rename from ch03/Echo.java rename to ch03/src/Echo.java diff --git a/ch03/GuessStarter.java b/ch03/src/GuessStarter.java similarity index 100% rename from ch03/GuessStarter.java rename to ch03/src/GuessStarter.java diff --git a/ch03/Input.java b/ch03/src/Input.java similarity index 100% rename from ch03/Input.java rename to ch03/src/Input.java diff --git a/ch03/ScannerBug.java b/ch03/src/ScannerBug.java similarity index 100% rename from ch03/ScannerBug.java rename to ch03/src/ScannerBug.java diff --git a/ch04/.classpath b/ch04/.classpath new file mode 100644 index 0000000..fceb480 --- /dev/null +++ b/ch04/.classpath @@ -0,0 +1,6 @@ + + + + + + diff --git a/ch04/.gitignore b/ch04/.gitignore new file mode 100644 index 0000000..ae3c172 --- /dev/null +++ b/ch04/.gitignore @@ -0,0 +1 @@ +/bin/ diff --git a/ch04/.project b/ch04/.project new file mode 100644 index 0000000..33fd3dd --- /dev/null +++ b/ch04/.project @@ -0,0 +1,17 @@ + + + JP + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + diff --git a/ch04/.settings/org.eclipse.jdt.core.prefs b/ch04/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..3a21537 --- /dev/null +++ b/ch04/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,11 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.8 +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.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.8 diff --git a/ch04/Exercise.java b/ch04/src/Exercise.java similarity index 100% rename from ch04/Exercise.java rename to ch04/src/Exercise.java diff --git a/ch04/Methods.java b/ch04/src/Methods.java similarity index 100% rename from ch04/Methods.java rename to ch04/src/Methods.java diff --git a/ch04/NewLine.java b/ch04/src/NewLine.java similarity index 100% rename from ch04/NewLine.java rename to ch04/src/NewLine.java diff --git a/ch04/PrintTime.java b/ch04/src/PrintTime.java similarity index 100% rename from ch04/PrintTime.java rename to ch04/src/PrintTime.java diff --git a/ch04/PrintTwice.java b/ch04/src/PrintTwice.java similarity index 100% rename from ch04/PrintTwice.java rename to ch04/src/PrintTwice.java diff --git a/ch05/.classpath b/ch05/.classpath new file mode 100644 index 0000000..fceb480 --- /dev/null +++ b/ch05/.classpath @@ -0,0 +1,6 @@ + + + + + + diff --git a/ch05/.gitignore b/ch05/.gitignore new file mode 100644 index 0000000..ae3c172 --- /dev/null +++ b/ch05/.gitignore @@ -0,0 +1 @@ +/bin/ diff --git a/ch05/.project b/ch05/.project new file mode 100644 index 0000000..33fd3dd --- /dev/null +++ b/ch05/.project @@ -0,0 +1,17 @@ + + + JP + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + diff --git a/ch05/.settings/org.eclipse.jdt.core.prefs b/ch05/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..3a21537 --- /dev/null +++ b/ch05/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,11 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.8 +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.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.8 diff --git a/ch05/Buzz.java b/ch05/src/Buzz.java similarity index 100% rename from ch05/Buzz.java rename to ch05/src/Buzz.java diff --git a/ch05/Conditional.java b/ch05/src/Conditional.java similarity index 100% rename from ch05/Conditional.java rename to ch05/src/Conditional.java diff --git a/ch05/Exercise.java b/ch05/src/Exercise.java similarity index 100% rename from ch05/Exercise.java rename to ch05/src/Exercise.java diff --git a/ch05/src/Exercise5_5.java b/ch05/src/Exercise5_5.java new file mode 100644 index 0000000..de8f11e --- /dev/null +++ b/ch05/src/Exercise5_5.java @@ -0,0 +1,38 @@ +import java.util.Scanner; + +public class Exercise5_5 { + + public static void printLyrics(int n) { + if (n == 0) { + System.out.println("No bottles of beer on the wall,"); + System.out.println("no bottles of beer,"); + System.out.println("ya’ can’t take one down, ya’ can’t pass it around,"); + System.out.println("cause there are no more bottles of beer on the wall!"); + } else { + System.out.println(n + " bottles of beer on the wall,"); + System.out.println(n + " bottles of beer"); + System.out.println("ya’ take one down, ya’ pass it around,"); + System.out.println((n - 1) + " bottles of beer on the wall."); + System.out.println(); + printLyrics(n - 1); + } + } + + + public static void main(String[] args) { + scanInput(); + } + + public static void scanInput() { + Scanner in = new Scanner(System.in); + System.out.print("Enter a number of Beers: "); + if (!in.hasNextInt()) { + String word = in.next(); + System.err.println(word + " is not a number"); + scanInput(); + } + int x = in.nextInt(); + printLyrics(x); + } + +} diff --git a/ch05/Logarithm.java b/ch05/src/Logarithm.java similarity index 100% rename from ch05/Logarithm.java rename to ch05/src/Logarithm.java diff --git a/ch05/Recursion.java b/ch05/src/Recursion.java similarity index 100% rename from ch05/Recursion.java rename to ch05/src/Recursion.java diff --git a/ch06/.classpath b/ch06/.classpath new file mode 100644 index 0000000..fceb480 --- /dev/null +++ b/ch06/.classpath @@ -0,0 +1,6 @@ + + + + + + diff --git a/ch06/.gitignore b/ch06/.gitignore new file mode 100644 index 0000000..ae3c172 --- /dev/null +++ b/ch06/.gitignore @@ -0,0 +1 @@ +/bin/ diff --git a/ch06/.project b/ch06/.project new file mode 100644 index 0000000..33fd3dd --- /dev/null +++ b/ch06/.project @@ -0,0 +1,17 @@ + + + JP + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + diff --git a/ch06/.settings/org.eclipse.jdt.core.prefs b/ch06/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..3a21537 --- /dev/null +++ b/ch06/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,11 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.8 +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.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.8 diff --git a/ch06/Exercise.java b/ch06/src/Exercise.java similarity index 100% rename from ch06/Exercise.java rename to ch06/src/Exercise.java diff --git a/ch06/src/Exercise6_7.java b/ch06/src/Exercise6_7.java new file mode 100644 index 0000000..8f8ad04 --- /dev/null +++ b/ch06/src/Exercise6_7.java @@ -0,0 +1,36 @@ + +public class Exercise6_7 { + + public static void main(String[] args) { + int myNum = 100; + System.out.println("Odd Sum = " + oddSum(myNum)); + System.out.println("All Sum = " + allSum(myNum)); + } + + public static int oddSum(int m) { + if (m == 1) { + return 0; + } else { + if (m % 2 == 0) { + int recurse = oddSum(m - 1); + int result = m + recurse; + return result; + } else { + int recurse = oddSum(m - 1); + return recurse; + } + + } + } + + public static int allSum(int m) { + if (m == 1) { + return 1; + } else { + int recurse = allSum(m - 1); + int result = m + recurse; + return result; + } + } + +} diff --git a/ch06/src/Exercise6_8.java b/ch06/src/Exercise6_8.java new file mode 100644 index 0000000..165053e --- /dev/null +++ b/ch06/src/Exercise6_8.java @@ -0,0 +1,25 @@ + + +public class Exercise6_8 { + + public static int ack(int m, int n) { + if (m == 0) { + return (n + 1); + } else if ((m > 0) && (n == 0)) { + int recurse = ack((m - 1), 1); + return recurse; + } else if ((m > 0) && (n > 0)) { + int temp = ack(m, (n-1)); + int recurse = ack((m - 1), temp); + return recurse; + } else { + return -1; + } + } + + + public static void main(String[] args) { + int n = ack(3,2); + System.out.println(n); + } +} diff --git a/ch06/src/Exercise6_9.java b/ch06/src/Exercise6_9.java new file mode 100644 index 0000000..44962c6 --- /dev/null +++ b/ch06/src/Exercise6_9.java @@ -0,0 +1,22 @@ + +public class Exercise6_9 { + + public static int power(int x, int n) { + if (n == 0) { + return 1; + } else if (n % 2 == 0) { + int recurse = power(x, (n / 2)); + int result = recurse * recurse; + return result; + } else { + int recurse = power(x, (n - 1)); + int result = x * recurse; + return result; + } + } + + public static void main(String[] args) { + int r = power(2, 6); + System.out.println(r); + } +} diff --git a/ch06/src/Exersice6_6.java b/ch06/src/Exersice6_6.java new file mode 100644 index 0000000..5412398 --- /dev/null +++ b/ch06/src/Exersice6_6.java @@ -0,0 +1,18 @@ + +public class Exersice6_6 { + + public static void main(String[] args) { + System.out.println(prod(1, 4)); + } + + public static int prod(int m, int n) { + if (m == n) { + return n; + } else { + int recurse = prod(m, n - 1); + int result = n * recurse; + return result; +// return (n * prod(m, n - 1)); + } + } +} diff --git a/ch06/Recursive.java b/ch06/src/Recursive.java similarity index 100% rename from ch06/Recursive.java rename to ch06/src/Recursive.java diff --git a/ch06/Series.java b/ch06/src/Series.java similarity index 100% rename from ch06/Series.java rename to ch06/src/Series.java diff --git a/ch07/.classpath b/ch07/.classpath new file mode 100644 index 0000000..fceb480 --- /dev/null +++ b/ch07/.classpath @@ -0,0 +1,6 @@ + + + + + + diff --git a/ch07/.gitignore b/ch07/.gitignore new file mode 100644 index 0000000..ae3c172 --- /dev/null +++ b/ch07/.gitignore @@ -0,0 +1 @@ +/bin/ diff --git a/ch07/.project b/ch07/.project new file mode 100644 index 0000000..33fd3dd --- /dev/null +++ b/ch07/.project @@ -0,0 +1,17 @@ + + + JP + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + diff --git a/ch07/.settings/org.eclipse.jdt.core.prefs b/ch07/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..3a21537 --- /dev/null +++ b/ch07/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,11 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.8 +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.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.8 diff --git a/ch07/Exercise.java b/ch07/src/Exercise.java similarity index 100% rename from ch07/Exercise.java rename to ch07/src/Exercise.java diff --git a/ch07/src/Exercise7_3.java b/ch07/src/Exercise7_3.java new file mode 100644 index 0000000..5ef9d3b --- /dev/null +++ b/ch07/src/Exercise7_3.java @@ -0,0 +1,18 @@ + +public class Exercise7_3 { + + public static int power(int x, int n) { + int result = 1; + while (n > 0) { + result *= x; + n--; + } + return result; + + } + + public static void main(String[] args) { + int r = power(2, 6); + System.out.println(r); + } +} diff --git a/ch07/src/Exercise7_4.java b/ch07/src/Exercise7_4.java new file mode 100644 index 0000000..d08c61c --- /dev/null +++ b/ch07/src/Exercise7_4.java @@ -0,0 +1,19 @@ + + +public class Exercise7_4 { + + public static int factorial(int n) { + int result = 1; + while (n > 0) { + result *= n; + n--; + } + return result; + + } + + public static void main(String[] args) { + int r = factorial(4); + System.out.println(r); + } +} diff --git a/ch07/Loops.java b/ch07/src/Loops.java similarity index 100% rename from ch07/Loops.java rename to ch07/src/Loops.java diff --git a/ch07/Tables.java b/ch07/src/Tables.java similarity index 100% rename from ch07/Tables.java rename to ch07/src/Tables.java diff --git a/ch07/Validate.java b/ch07/src/Validate.java similarity index 100% rename from ch07/Validate.java rename to ch07/src/Validate.java diff --git a/ch08/.classpath b/ch08/.classpath new file mode 100644 index 0000000..fceb480 --- /dev/null +++ b/ch08/.classpath @@ -0,0 +1,6 @@ + + + + + + diff --git a/ch08/.gitignore b/ch08/.gitignore new file mode 100644 index 0000000..ae3c172 --- /dev/null +++ b/ch08/.gitignore @@ -0,0 +1 @@ +/bin/ diff --git a/ch08/.project b/ch08/.project new file mode 100644 index 0000000..33fd3dd --- /dev/null +++ b/ch08/.project @@ -0,0 +1,17 @@ + + + JP + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + diff --git a/ch08/.settings/org.eclipse.jdt.core.prefs b/ch08/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..3a21537 --- /dev/null +++ b/ch08/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,11 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.8 +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.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.8 diff --git a/ch08/ArrayExamples.java b/ch08/src/ArrayExamples.java similarity index 100% rename from ch08/ArrayExamples.java rename to ch08/src/ArrayExamples.java diff --git a/ch08/src/Exercise8_3.java b/ch08/src/Exercise8_3.java new file mode 100644 index 0000000..c1a915f --- /dev/null +++ b/ch08/src/Exercise8_3.java @@ -0,0 +1,30 @@ + +public class Exercise8_3 { + public static int[] make(int n) { + int[] a = new int[n]; + for (int i = 0; i < n; i++) { + a[i] = i + 1; + } + return a; + } + + public static void dub(int[] jub) { + for (int i = 0; i < jub.length; i++) { + jub[i] *= 2; + } + } + + public static int mus(int[] zoo) { + int fus = 0; + for (int i = 0; i < zoo.length; i++) { + fus += zoo[i]; + } + return fus; + } + + public static void main(String[] args) { + int[] bob = make(5); + dub(bob); + System.out.println(mus(bob)); + } +} diff --git a/ch08/src/Exercise8_5.java b/ch08/src/Exercise8_5.java new file mode 100644 index 0000000..a3d813c --- /dev/null +++ b/ch08/src/Exercise8_5.java @@ -0,0 +1,46 @@ +import java.util.Arrays; +import java.util.HashMap; +import java.util.Map; + +public class Exercise8_5 { + + public static void sieve(int limit) { + + int[] nums = new int[limit]; + for (int i = 0; i < nums.length; i++) { + nums[i] = i; + } + System.out.println(Arrays.toString(nums)); + + boolean[] bool = new boolean[limit]; + for (int i = 2; i < bool.length; i++) { + bool[i] = true; + } + + // Mark all composite numbers + for (int i = 2; i < (bool.length / 2); i++) { + if (bool[i]) { +// bool[i] = false; + int multiple = 2; + while (i * multiple < bool.length) { + bool [i * multiple] = false; + multiple++; + } + } + } + + + Map myMap = new HashMap(bool.length); + for (int i = 0; i < nums.length; i++) { + myMap.put(nums[i], bool[i]); + } + + + System.out.println(Arrays.toString(bool)); + System.out.println(myMap); + } + + public static void main(String[] args) { + sieve(120); + } +} diff --git a/ch08/Fruit.java b/ch08/src/Fruit.java similarity index 100% rename from ch08/Fruit.java rename to ch08/src/Fruit.java diff --git a/ch08/Histogram.java b/ch08/src/Histogram.java similarity index 78% rename from ch08/Histogram.java rename to ch08/src/Histogram.java index 32b029c..681774c 100644 --- a/ch08/Histogram.java +++ b/ch08/src/Histogram.java @@ -36,11 +36,20 @@ public static void main(String[] args) { ArrayExamples.printArray(array); int[] scores = randomArray(30); + ArrayExamples.printArray(scores); + int a = inRange(scores, 90, 100); int b = inRange(scores, 80, 90); int c = inRange(scores, 70, 80); int d = inRange(scores, 60, 70); int f = inRange(scores, 0, 60); + + System.out.println("a= " + a); + System.out.println("b= " + b); + System.out.println("c= " + c); + System.out.println("d= " + d); + System.out.println("f= " + f); + System.out.println(a + b + c + d + f); // making a histogram int[] counts = new int[100]; @@ -48,12 +57,15 @@ public static void main(String[] args) { int index = scores[i]; counts[index]++; } + ArrayExamples.printArray(counts); // histogram with enhanced for loop counts = new int[100]; for (int score : scores) { counts[score]++; } + + ArrayExamples.printArray(counts); } } diff --git a/ch08/src/Histogram2.java b/ch08/src/Histogram2.java new file mode 100644 index 0000000..084825e --- /dev/null +++ b/ch08/src/Histogram2.java @@ -0,0 +1,37 @@ +import java.util.Arrays; +import java.util.Random; + +/** + * Example code related to histograms. + */ +public class Histogram2 { + + /** + * Returns an array of random integers. + */ + public static int[] randomArray(int size) { + Random random = new Random(); + int[] a = new int[size]; + for (int i = 0; i < a.length; i++) { + a[i] = random.nextInt(100); + } + return a; + } + + public static void main(String[] args) { + + int[] scores = randomArray(100); + + // making a histogram + int[] counts = new int[100]; + for (int i = 0; i < scores.length; i++) { + int index = scores[i]; + counts[index]++; + } + + System.out.println(Arrays.toString(scores)); + System.out.println(Arrays.toString(counts)); + + } + +} diff --git a/ch08/MakeDubMus.java b/ch08/src/MakeDubMus.java similarity index 100% rename from ch08/MakeDubMus.java rename to ch08/src/MakeDubMus.java diff --git a/ch09/.classpath b/ch09/.classpath new file mode 100644 index 0000000..fceb480 --- /dev/null +++ b/ch09/.classpath @@ -0,0 +1,6 @@ + + + + + + diff --git a/ch09/.gitignore b/ch09/.gitignore new file mode 100644 index 0000000..ae3c172 --- /dev/null +++ b/ch09/.gitignore @@ -0,0 +1 @@ +/bin/ diff --git a/ch09/.project b/ch09/.project new file mode 100644 index 0000000..33fd3dd --- /dev/null +++ b/ch09/.project @@ -0,0 +1,17 @@ + + + JP + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + diff --git a/ch09/.settings/org.eclipse.jdt.core.prefs b/ch09/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..3a21537 --- /dev/null +++ b/ch09/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,11 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.8 +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.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.8 diff --git a/ch09/Exercise.java b/ch09/src/Exercise.java similarity index 100% rename from ch09/Exercise.java rename to ch09/src/Exercise.java diff --git a/ch09/src/Exercise9_1.java b/ch09/src/Exercise9_1.java new file mode 100644 index 0000000..0a2a6c3 --- /dev/null +++ b/ch09/src/Exercise9_1.java @@ -0,0 +1,19 @@ + +public class Exercise9_1 { + public static void main(String[] args) { + boolean myB1 = false; + char myChar1 = 'm'; + int myInt1 = 1; + double myD1 = 1.0; + String myString1 = "MyString1"; + + boolean myB2 = true; + char myChar2 = 'n'; + int myInt2 = 2; + double myD2 = 2.0; + String myString2 = "MyString2"; + + System.out.println(myD2 + myInt1); + System.out.println((myString1 + myD2).getClass().getName()); + } +} diff --git a/ch09/src/Exercise9_2.java b/ch09/src/Exercise9_2.java new file mode 100644 index 0000000..1b6ceeb --- /dev/null +++ b/ch09/src/Exercise9_2.java @@ -0,0 +1,41 @@ +import java.util.Arrays; + +public class Exercise9_2 { + + public static void letterHist(String lettersCount) { + + String temp = lettersCount.toLowerCase(); + + char[] myCharsFromString = temp.toCharArray(); + + // creating alfabet array + char[] alfabet = new char[25]; + char c = 'a'; + for (int i = 0; i < alfabet.length; i++) { + alfabet[i] = c; + c++; + } + + // making a histogram + int[] counts = new int[25]; + + for (int i = 0; i < myCharsFromString.length; i++) { + char index = myCharsFromString[i]; + for (int j = 0; j < alfabet.length; j++) { + if (alfabet[j] == index) { + counts[j]++; + } + } + + } + + System.out.println(Arrays.toString(alfabet)); + System.out.println(Arrays.toString(counts)); + + } + + public static void main(String[] args) { + letterHist("My test"); + + } +} diff --git a/ch09/Format.java b/ch09/src/Format.java similarity index 100% rename from ch09/Format.java rename to ch09/src/Format.java diff --git a/ch09/Max.java b/ch09/src/Max.java similarity index 100% rename from ch09/Max.java rename to ch09/src/Max.java diff --git a/ch09/Recurse.java b/ch09/src/Recurse.java similarity index 100% rename from ch09/Recurse.java rename to ch09/src/Recurse.java diff --git a/ch09/StringsThings.java b/ch09/src/StringsThings.java similarity index 100% rename from ch09/StringsThings.java rename to ch09/src/StringsThings.java diff --git a/ch10/.classpath b/ch10/.classpath new file mode 100644 index 0000000..fceb480 --- /dev/null +++ b/ch10/.classpath @@ -0,0 +1,6 @@ + + + + + + diff --git a/ch10/.gitignore b/ch10/.gitignore new file mode 100644 index 0000000..ae3c172 --- /dev/null +++ b/ch10/.gitignore @@ -0,0 +1 @@ +/bin/ diff --git a/ch10/.project b/ch10/.project new file mode 100644 index 0000000..33fd3dd --- /dev/null +++ b/ch10/.project @@ -0,0 +1,17 @@ + + + JP + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + diff --git a/ch10/.settings/org.eclipse.jdt.core.prefs b/ch10/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..3a21537 --- /dev/null +++ b/ch10/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,11 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.8 +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.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.8 diff --git a/ch10/PointRect.java b/ch10/src/PointRect.java similarity index 100% rename from ch10/PointRect.java rename to ch10/src/PointRect.java diff --git a/ch10/Pow.java b/ch10/src/Pow.java similarity index 100% rename from ch10/Pow.java rename to ch10/src/Pow.java diff --git a/ch10/Riddle.java b/ch10/src/Riddle.java similarity index 100% rename from ch10/Riddle.java rename to ch10/src/Riddle.java diff --git a/ch11/.classpath b/ch11/.classpath new file mode 100644 index 0000000..fceb480 --- /dev/null +++ b/ch11/.classpath @@ -0,0 +1,6 @@ + + + + + + diff --git a/ch11/.gitignore b/ch11/.gitignore new file mode 100644 index 0000000..ae3c172 --- /dev/null +++ b/ch11/.gitignore @@ -0,0 +1 @@ +/bin/ diff --git a/ch11/.project b/ch11/.project new file mode 100644 index 0000000..33fd3dd --- /dev/null +++ b/ch11/.project @@ -0,0 +1,17 @@ + + + JP + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + diff --git a/ch11/.settings/org.eclipse.jdt.core.prefs b/ch11/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..3a21537 --- /dev/null +++ b/ch11/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,11 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.8 +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.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.8 diff --git a/ch11/src/MyMath.java b/ch11/src/MyMath.java new file mode 100644 index 0000000..271b484 --- /dev/null +++ b/ch11/src/MyMath.java @@ -0,0 +1,25 @@ + +public class MyMath { + + // Nai maluk obsht delitel + public static int nod(int a, int b) { + while (b != 0) { + int t = b; + b = a % b; + a = t; + } + return a; + } + + // Nai malko obshto kratno + public static int nok(int a, int b) { + int nod = nod(a, b); + int result = a * b; + return result / nod; + } + + public static void main(String[] args) { + System.out.println(nod(1071, 462)); + System.out.println(nok(1071, 462)); + } +} diff --git a/ch11/Time.java b/ch11/src/Time.java similarity index 100% rename from ch11/Time.java rename to ch11/src/Time.java diff --git a/ch11/TimeClient.java b/ch11/src/TimeClient.java similarity index 100% rename from ch11/TimeClient.java rename to ch11/src/TimeClient.java diff --git a/ch12/.classpath b/ch12/.classpath new file mode 100644 index 0000000..fceb480 --- /dev/null +++ b/ch12/.classpath @@ -0,0 +1,6 @@ + + + + + + diff --git a/ch12/.gitignore b/ch12/.gitignore new file mode 100644 index 0000000..ae3c172 --- /dev/null +++ b/ch12/.gitignore @@ -0,0 +1 @@ +/bin/ diff --git a/ch12/.project b/ch12/.project new file mode 100644 index 0000000..33fd3dd --- /dev/null +++ b/ch12/.project @@ -0,0 +1,17 @@ + + + JP + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + diff --git a/ch12/.settings/org.eclipse.jdt.core.prefs b/ch12/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..3a21537 --- /dev/null +++ b/ch12/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,11 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.8 +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.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.8 diff --git a/ch12/Card.java b/ch12/src/Card.java similarity index 100% rename from ch12/Card.java rename to ch12/src/Card.java diff --git a/ch12/CardTable.java b/ch12/src/CardTable.java similarity index 100% rename from ch12/CardTable.java rename to ch12/src/CardTable.java diff --git a/ch12/Search.java b/ch12/src/Search.java similarity index 100% rename from ch12/Search.java rename to ch12/src/Search.java diff --git a/ch13/.classpath b/ch13/.classpath new file mode 100644 index 0000000..fceb480 --- /dev/null +++ b/ch13/.classpath @@ -0,0 +1,6 @@ + + + + + + diff --git a/ch13/.gitignore b/ch13/.gitignore new file mode 100644 index 0000000..ae3c172 --- /dev/null +++ b/ch13/.gitignore @@ -0,0 +1 @@ +/bin/ diff --git a/ch13/.project b/ch13/.project new file mode 100644 index 0000000..33fd3dd --- /dev/null +++ b/ch13/.project @@ -0,0 +1,17 @@ + + + JP + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + diff --git a/ch13/.settings/org.eclipse.jdt.core.prefs b/ch13/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..3a21537 --- /dev/null +++ b/ch13/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,11 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.8 +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.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.8 diff --git a/ch13/Card.java b/ch13/Card.java deleted file mode 120000 index 1c6483e..0000000 --- a/ch13/Card.java +++ /dev/null @@ -1 +0,0 @@ -../ch12/Card.java \ No newline at end of file diff --git a/ch13/Deck.java b/ch13/src/Deck.java similarity index 100% rename from ch13/Deck.java rename to ch13/src/Deck.java diff --git a/ch13/Test.java b/ch13/src/Test.java similarity index 100% rename from ch13/Test.java rename to ch13/src/Test.java diff --git a/ch14/.classpath b/ch14/.classpath new file mode 100644 index 0000000..fceb480 --- /dev/null +++ b/ch14/.classpath @@ -0,0 +1,6 @@ + + + + + + diff --git a/ch14/.gitignore b/ch14/.gitignore new file mode 100644 index 0000000..ae3c172 --- /dev/null +++ b/ch14/.gitignore @@ -0,0 +1 @@ +/bin/ diff --git a/ch14/.project b/ch14/.project new file mode 100644 index 0000000..33fd3dd --- /dev/null +++ b/ch14/.project @@ -0,0 +1,17 @@ + + + JP + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + diff --git a/ch14/.settings/org.eclipse.jdt.core.prefs b/ch14/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..3a21537 --- /dev/null +++ b/ch14/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,11 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.8 +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.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.8 diff --git a/ch14/Card.java b/ch14/Card.java deleted file mode 120000 index 1c6483e..0000000 --- a/ch14/Card.java +++ /dev/null @@ -1 +0,0 @@ -../ch12/Card.java \ No newline at end of file diff --git a/ch14/CardCollection.java b/ch14/src/CardCollection.java similarity index 100% rename from ch14/CardCollection.java rename to ch14/src/CardCollection.java diff --git a/ch14/Deck.java b/ch14/src/Deck.java similarity index 100% rename from ch14/Deck.java rename to ch14/src/Deck.java diff --git a/ch14/Eights.java b/ch14/src/Eights.java similarity index 100% rename from ch14/Eights.java rename to ch14/src/Eights.java diff --git a/ch14/Hand.java b/ch14/src/Hand.java similarity index 100% rename from ch14/Hand.java rename to ch14/src/Hand.java diff --git a/ch14/Player.java b/ch14/src/Player.java similarity index 100% rename from ch14/Player.java rename to ch14/src/Player.java diff --git a/ch14/Test.java b/ch14/src/Test.java similarity index 100% rename from ch14/Test.java rename to ch14/src/Test.java