diff --git a/.gradle/7.2/executionHistory/executionHistory.bin b/.gradle/7.2/executionHistory/executionHistory.bin
new file mode 100644
index 0000000..cc00e7b
Binary files /dev/null and b/.gradle/7.2/executionHistory/executionHistory.bin differ
diff --git a/.gradle/7.2/executionHistory/executionHistory.lock b/.gradle/7.2/executionHistory/executionHistory.lock
index 591ef9c..0dae6cc 100644
Binary files a/.gradle/7.2/executionHistory/executionHistory.lock and b/.gradle/7.2/executionHistory/executionHistory.lock differ
diff --git a/.gradle/7.2/fileHashes/fileHashes.bin b/.gradle/7.2/fileHashes/fileHashes.bin
new file mode 100644
index 0000000..7fc6e4e
Binary files /dev/null and b/.gradle/7.2/fileHashes/fileHashes.bin differ
diff --git a/.gradle/7.2/fileHashes/fileHashes.lock b/.gradle/7.2/fileHashes/fileHashes.lock
index 20836ac..5a73b9d 100644
Binary files a/.gradle/7.2/fileHashes/fileHashes.lock and b/.gradle/7.2/fileHashes/fileHashes.lock differ
diff --git a/.gradle/7.2/fileHashes/resourceHashesCache.bin b/.gradle/7.2/fileHashes/resourceHashesCache.bin
new file mode 100644
index 0000000..e755d9a
Binary files /dev/null and b/.gradle/7.2/fileHashes/resourceHashesCache.bin differ
diff --git a/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/.gradle/buildOutputCleanup/buildOutputCleanup.lock
index 4983b10..7e3a881 100644
Binary files a/.gradle/buildOutputCleanup/buildOutputCleanup.lock and b/.gradle/buildOutputCleanup/buildOutputCleanup.lock differ
diff --git a/.gradle/buildOutputCleanup/outputFiles.bin b/.gradle/buildOutputCleanup/outputFiles.bin
new file mode 100644
index 0000000..bad424d
Binary files /dev/null and b/.gradle/buildOutputCleanup/outputFiles.bin differ
diff --git a/build/reports/tests/test/classes/Lecture4ExercisesTest.html b/build/reports/tests/test/classes/Lecture4ExercisesTest.html
new file mode 100644
index 0000000..2dcda09
--- /dev/null
+++ b/build/reports/tests/test/classes/Lecture4ExercisesTest.html
@@ -0,0 +1,181 @@
+
+
+
+
+
+Test results - Class Lecture4ExercisesTest
+
+
+
+
+
+
+
Class Lecture4ExercisesTest
+
+
+
+
+
+
+
+
+|
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+
+ |
+
+
+ |
+
+
+
+
+
+
+
Tests
+
+
+
+| Test |
+Duration |
+Result |
+
+
+
+| dotPlotSample1() |
+0.002s |
+passed |
+
+
+| dotPlotSample2() |
+0s |
+passed |
+
+
+| factorialOfZero() |
+0.001s |
+passed |
+
+
+| factorialSimple1() |
+0.001s |
+passed |
+
+
+| factorialSimple2() |
+0s |
+passed |
+
+
+| fibonacciBigIndex() |
+0s |
+passed |
+
+
+| fibonacciSample1() |
+0.018s |
+passed |
+
+
+| fibonacciSample2() |
+0.001s |
+passed |
+
+
+| fibonacciSample3() |
+0.001s |
+passed |
+
+
+| isPalindrome() |
+0.002s |
+passed |
+
+
+| isPalindromeIgnoreCase() |
+0.001s |
+passed |
+
+
+| isPalindromeLine() |
+0.001s |
+passed |
+
+
+| isPalindromeWrong1() |
+0.001s |
+passed |
+
+
+| isPalindromeWrong2() |
+0s |
+passed |
+
+
+| reverseCaseImportant() |
+0.013s |
+passed |
+
+
+| reverseSample1() |
+0s |
+passed |
+
+
+| reverseSample2() |
+0.001s |
+passed |
+
+
+| reverseWithSpace() |
+0.001s |
+passed |
+
+
+
+
+
+
+
+
diff --git a/build/reports/tests/test/css/base-style.css b/build/reports/tests/test/css/base-style.css
new file mode 100644
index 0000000..4afa73e
--- /dev/null
+++ b/build/reports/tests/test/css/base-style.css
@@ -0,0 +1,179 @@
+
+body {
+ margin: 0;
+ padding: 0;
+ font-family: sans-serif;
+ font-size: 12pt;
+}
+
+body, a, a:visited {
+ color: #303030;
+}
+
+#content {
+ padding-left: 50px;
+ padding-right: 50px;
+ padding-top: 30px;
+ padding-bottom: 30px;
+}
+
+#content h1 {
+ font-size: 160%;
+ margin-bottom: 10px;
+}
+
+#footer {
+ margin-top: 100px;
+ font-size: 80%;
+ white-space: nowrap;
+}
+
+#footer, #footer a {
+ color: #a0a0a0;
+}
+
+#line-wrapping-toggle {
+ vertical-align: middle;
+}
+
+#label-for-line-wrapping-toggle {
+ vertical-align: middle;
+}
+
+ul {
+ margin-left: 0;
+}
+
+h1, h2, h3 {
+ white-space: nowrap;
+}
+
+h2 {
+ font-size: 120%;
+}
+
+ul.tabLinks {
+ padding-left: 0;
+ padding-top: 10px;
+ padding-bottom: 10px;
+ overflow: auto;
+ min-width: 800px;
+ width: auto !important;
+ width: 800px;
+}
+
+ul.tabLinks li {
+ float: left;
+ height: 100%;
+ list-style: none;
+ padding-left: 10px;
+ padding-right: 10px;
+ padding-top: 5px;
+ padding-bottom: 5px;
+ margin-bottom: 0;
+ -moz-border-radius: 7px;
+ border-radius: 7px;
+ margin-right: 25px;
+ border: solid 1px #d4d4d4;
+ background-color: #f0f0f0;
+}
+
+ul.tabLinks li:hover {
+ background-color: #fafafa;
+}
+
+ul.tabLinks li.selected {
+ background-color: #c5f0f5;
+ border-color: #c5f0f5;
+}
+
+ul.tabLinks a {
+ font-size: 120%;
+ display: block;
+ outline: none;
+ text-decoration: none;
+ margin: 0;
+ padding: 0;
+}
+
+ul.tabLinks li h2 {
+ margin: 0;
+ padding: 0;
+}
+
+div.tab {
+}
+
+div.selected {
+ display: block;
+}
+
+div.deselected {
+ display: none;
+}
+
+div.tab table {
+ min-width: 350px;
+ width: auto !important;
+ width: 350px;
+ border-collapse: collapse;
+}
+
+div.tab th, div.tab table {
+ border-bottom: solid #d0d0d0 1px;
+}
+
+div.tab th {
+ text-align: left;
+ white-space: nowrap;
+ padding-left: 6em;
+}
+
+div.tab th:first-child {
+ padding-left: 0;
+}
+
+div.tab td {
+ white-space: nowrap;
+ padding-left: 6em;
+ padding-top: 5px;
+ padding-bottom: 5px;
+}
+
+div.tab td:first-child {
+ padding-left: 0;
+}
+
+div.tab td.numeric, div.tab th.numeric {
+ text-align: right;
+}
+
+span.code {
+ display: inline-block;
+ margin-top: 0em;
+ margin-bottom: 1em;
+}
+
+span.code pre {
+ font-size: 11pt;
+ padding-top: 10px;
+ padding-bottom: 10px;
+ padding-left: 10px;
+ padding-right: 10px;
+ margin: 0;
+ background-color: #f7f7f7;
+ border: solid 1px #d0d0d0;
+ min-width: 700px;
+ width: auto !important;
+ width: 700px;
+}
+
+span.wrapped pre {
+ word-wrap: break-word;
+ white-space: pre-wrap;
+ word-break: break-all;
+}
+
+label.hidden {
+ display: none;
+}
\ No newline at end of file
diff --git a/build/reports/tests/test/css/style.css b/build/reports/tests/test/css/style.css
new file mode 100644
index 0000000..3dc4913
--- /dev/null
+++ b/build/reports/tests/test/css/style.css
@@ -0,0 +1,84 @@
+
+#summary {
+ margin-top: 30px;
+ margin-bottom: 40px;
+}
+
+#summary table {
+ border-collapse: collapse;
+}
+
+#summary td {
+ vertical-align: top;
+}
+
+.breadcrumbs, .breadcrumbs a {
+ color: #606060;
+}
+
+.infoBox {
+ width: 110px;
+ padding-top: 15px;
+ padding-bottom: 15px;
+ text-align: center;
+}
+
+.infoBox p {
+ margin: 0;
+}
+
+.counter, .percent {
+ font-size: 120%;
+ font-weight: bold;
+ margin-bottom: 8px;
+}
+
+#duration {
+ width: 125px;
+}
+
+#successRate, .summaryGroup {
+ border: solid 2px #d0d0d0;
+ -moz-border-radius: 10px;
+ border-radius: 10px;
+}
+
+#successRate {
+ width: 140px;
+ margin-left: 35px;
+}
+
+#successRate .percent {
+ font-size: 180%;
+}
+
+.success, .success a {
+ color: #008000;
+}
+
+div.success, #successRate.success {
+ background-color: #bbd9bb;
+ border-color: #008000;
+}
+
+.failures, .failures a {
+ color: #b60808;
+}
+
+.skipped, .skipped a {
+ color: #c09853;
+}
+
+div.failures, #successRate.failures {
+ background-color: #ecdada;
+ border-color: #b60808;
+}
+
+ul.linkList {
+ padding-left: 0;
+}
+
+ul.linkList li {
+ list-style: none;
+ margin-bottom: 5px;
+}
diff --git a/build/reports/tests/test/index.html b/build/reports/tests/test/index.html
new file mode 100644
index 0000000..0eb9194
--- /dev/null
+++ b/build/reports/tests/test/index.html
@@ -0,0 +1,133 @@
+
+
+
+
+
+Test results - Test Summary
+
+
+
+
+
+
+
Test Summary
+
+
+
+
+
+
+
+|
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+
+ |
+
+
+ |
+
+
+
+
+
+
+
Packages
+
+
+
+| Package |
+Tests |
+Failures |
+Ignored |
+Duration |
+Success rate |
+
+
+
+
+|
+default-package
+ |
+18 |
+0 |
+0 |
+0.044s |
+100% |
+
+
+
+
+
+
Classes
+
+
+
+| Class |
+Tests |
+Failures |
+Ignored |
+Duration |
+Success rate |
+
+
+
+
+|
+Lecture4ExercisesTest
+ |
+18 |
+0 |
+0 |
+0.044s |
+100% |
+
+
+
+
+
+
+
+
+
diff --git a/build/reports/tests/test/js/report.js b/build/reports/tests/test/js/report.js
new file mode 100644
index 0000000..83bab4a
--- /dev/null
+++ b/build/reports/tests/test/js/report.js
@@ -0,0 +1,194 @@
+(function (window, document) {
+ "use strict";
+
+ var tabs = {};
+
+ function changeElementClass(element, classValue) {
+ if (element.getAttribute("className")) {
+ element.setAttribute("className", classValue);
+ } else {
+ element.setAttribute("class", classValue);
+ }
+ }
+
+ function getClassAttribute(element) {
+ if (element.getAttribute("className")) {
+ return element.getAttribute("className");
+ } else {
+ return element.getAttribute("class");
+ }
+ }
+
+ function addClass(element, classValue) {
+ changeElementClass(element, getClassAttribute(element) + " " + classValue);
+ }
+
+ function removeClass(element, classValue) {
+ changeElementClass(element, getClassAttribute(element).replace(classValue, ""));
+ }
+
+ function initTabs() {
+ var container = document.getElementById("tabs");
+
+ tabs.tabs = findTabs(container);
+ tabs.titles = findTitles(tabs.tabs);
+ tabs.headers = findHeaders(container);
+ tabs.select = select;
+ tabs.deselectAll = deselectAll;
+ tabs.select(0);
+
+ return true;
+ }
+
+ function getCheckBox() {
+ return document.getElementById("line-wrapping-toggle");
+ }
+
+ function getLabelForCheckBox() {
+ return document.getElementById("label-for-line-wrapping-toggle");
+ }
+
+ function findCodeBlocks() {
+ var spans = document.getElementById("tabs").getElementsByTagName("span");
+ var codeBlocks = [];
+ for (var i = 0; i < spans.length; ++i) {
+ if (spans[i].className.indexOf("code") >= 0) {
+ codeBlocks.push(spans[i]);
+ }
+ }
+ return codeBlocks;
+ }
+
+ function forAllCodeBlocks(operation) {
+ var codeBlocks = findCodeBlocks();
+
+ for (var i = 0; i < codeBlocks.length; ++i) {
+ operation(codeBlocks[i], "wrapped");
+ }
+ }
+
+ function toggleLineWrapping() {
+ var checkBox = getCheckBox();
+
+ if (checkBox.checked) {
+ forAllCodeBlocks(addClass);
+ } else {
+ forAllCodeBlocks(removeClass);
+ }
+ }
+
+ function initControls() {
+ if (findCodeBlocks().length > 0) {
+ var checkBox = getCheckBox();
+ var label = getLabelForCheckBox();
+
+ checkBox.onclick = toggleLineWrapping;
+ checkBox.checked = false;
+
+ removeClass(label, "hidden");
+ }
+ }
+
+ function switchTab() {
+ var id = this.id.substr(1);
+
+ for (var i = 0; i < tabs.tabs.length; i++) {
+ if (tabs.tabs[i].id === id) {
+ tabs.select(i);
+ break;
+ }
+ }
+
+ return false;
+ }
+
+ function select(i) {
+ this.deselectAll();
+
+ changeElementClass(this.tabs[i], "tab selected");
+ changeElementClass(this.headers[i], "selected");
+
+ while (this.headers[i].firstChild) {
+ this.headers[i].removeChild(this.headers[i].firstChild);
+ }
+
+ var h2 = document.createElement("H2");
+
+ h2.appendChild(document.createTextNode(this.titles[i]));
+ this.headers[i].appendChild(h2);
+ }
+
+ function deselectAll() {
+ for (var i = 0; i < this.tabs.length; i++) {
+ changeElementClass(this.tabs[i], "tab deselected");
+ changeElementClass(this.headers[i], "deselected");
+
+ while (this.headers[i].firstChild) {
+ this.headers[i].removeChild(this.headers[i].firstChild);
+ }
+
+ var a = document.createElement("A");
+
+ a.setAttribute("id", "ltab" + i);
+ a.setAttribute("href", "#tab" + i);
+ a.onclick = switchTab;
+ a.appendChild(document.createTextNode(this.titles[i]));
+
+ this.headers[i].appendChild(a);
+ }
+ }
+
+ function findTabs(container) {
+ return findChildElements(container, "DIV", "tab");
+ }
+
+ function findHeaders(container) {
+ var owner = findChildElements(container, "UL", "tabLinks");
+ return findChildElements(owner[0], "LI", null);
+ }
+
+ function findTitles(tabs) {
+ var titles = [];
+
+ for (var i = 0; i < tabs.length; i++) {
+ var tab = tabs[i];
+ var header = findChildElements(tab, "H2", null)[0];
+
+ header.parentNode.removeChild(header);
+
+ if (header.innerText) {
+ titles.push(header.innerText);
+ } else {
+ titles.push(header.textContent);
+ }
+ }
+
+ return titles;
+ }
+
+ function findChildElements(container, name, targetClass) {
+ var elements = [];
+ var children = container.childNodes;
+
+ for (var i = 0; i < children.length; i++) {
+ var child = children.item(i);
+
+ if (child.nodeType === 1 && child.nodeName === name) {
+ if (targetClass && child.className.indexOf(targetClass) < 0) {
+ continue;
+ }
+
+ elements.push(child);
+ }
+ }
+
+ return elements;
+ }
+
+ // Entry point.
+
+ window.onload = function() {
+ initTabs();
+ initControls();
+ };
+} (window, window.document));
\ No newline at end of file
diff --git a/build/reports/tests/test/packages/default-package.html b/build/reports/tests/test/packages/default-package.html
new file mode 100644
index 0000000..ee8f895
--- /dev/null
+++ b/build/reports/tests/test/packages/default-package.html
@@ -0,0 +1,103 @@
+
+
+
+
+
+Test results - Default package
+
+
+
+
+
+
+
Default package
+
+
+
+
+
+
+
+
+|
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+
+ |
+
+
+ |
+
+
+
+
+
+
+
Classes
+
+
+
+| Class |
+Tests |
+Failures |
+Ignored |
+Duration |
+Success rate |
+
+
+
+|
+Lecture4ExercisesTest
+ |
+18 |
+0 |
+0 |
+0.044s |
+100% |
+
+
+
+
+
+
+
+
diff --git a/build/test-results/test/TEST-Lecture4ExercisesTest.xml b/build/test-results/test/TEST-Lecture4ExercisesTest.xml
new file mode 100644
index 0000000..b20cfa3
--- /dev/null
+++ b/build/test-results/test/TEST-Lecture4ExercisesTest.xml
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/build/test-results/test/binary/output.bin b/build/test-results/test/binary/output.bin
new file mode 100644
index 0000000..e69de29
diff --git a/build/test-results/test/binary/output.bin.idx b/build/test-results/test/binary/output.bin.idx
new file mode 100644
index 0000000..f76dd23
Binary files /dev/null and b/build/test-results/test/binary/output.bin.idx differ
diff --git a/build/test-results/test/binary/results.bin b/build/test-results/test/binary/results.bin
new file mode 100644
index 0000000..2a21d0a
Binary files /dev/null and b/build/test-results/test/binary/results.bin differ
diff --git a/build/tmp/compileJava/previous-compilation-data.bin b/build/tmp/compileJava/previous-compilation-data.bin
new file mode 100644
index 0000000..bc170a8
Binary files /dev/null and b/build/tmp/compileJava/previous-compilation-data.bin differ
diff --git a/build/tmp/compileTestJava/previous-compilation-data.bin b/build/tmp/compileTestJava/previous-compilation-data.bin
new file mode 100644
index 0000000..6a3b34d
Binary files /dev/null and b/build/tmp/compileTestJava/previous-compilation-data.bin differ
diff --git a/src/main/java/Lecture4Exercises.java b/src/main/java/Lecture4Exercises.java
index 868721c..91bb08e 100644
--- a/src/main/java/Lecture4Exercises.java
+++ b/src/main/java/Lecture4Exercises.java
@@ -1,3 +1,6 @@
+import java.util.ArrayList;
+import java.util.List;
+
public class Lecture4Exercises {
/*
@@ -5,7 +8,12 @@ public class Lecture4Exercises {
* lecture 4 page 15
*/
public long factorial(int n) {
- return 0L;
+
+ long fac = 1;
+ for (int i=1 ; i<=n ; i++){
+ fac*=i;
+ }
+ return fac;
}
/*
@@ -14,7 +22,20 @@ public long factorial(int n) {
* lecture 4 page 19
*/
public long fibonacci(int n) {
- return 0;
+
+ long f1 = 1;
+ long f2 = 1;
+ long temp = 0;
+ if (n == 1)
+ return f1;
+ if (n == 1)
+ return f2;
+ for (int i = 0; i < n-2; i++){
+ temp = f1 + f2;
+ f1 = f2;
+ f2 = temp;
+ }
+ return f2;
}
/*
@@ -22,7 +43,12 @@ public long fibonacci(int n) {
* lecture 4 page 19
*/
public String reverse(String word) {
- return null;
+
+ String reverse = "";
+ for (int i = word.length()-1 ; i >=0; i--){
+ reverse+=word.charAt(i);
+ }
+ return reverse;
}
/*
@@ -32,7 +58,19 @@ public String reverse(String word) {
* lecture 4 page 19
*/
public boolean isPalindrome(String line) {
- return false;
+
+ String reverse="";
+ line=line.replaceAll("\\s", "");
+ line=line.toLowerCase();
+ for (int i = line.length()-1 ; i >=0; i--){
+ reverse+=line.charAt(i);
+ }
+ if (line.equals(reverse)){
+ return true;
+ }
+ else {
+ return false;
+ }
}
/*
@@ -47,6 +85,19 @@ public boolean isPalindrome(String line) {
* lecture 4 page 26
*/
public char[][] dotPlot(String str1, String str2) {
- return null;
+
+ char[][] dotPlot = new char[str1.length()][str2.length()];
+ for (int i = 0; i < str1.length(); i++) {
+ for (int j = 0; j < str2.length(); j++) {
+ if (str1.charAt(i) == str2.charAt(j)) {
+ dotPlot[i][j] = '*';
+ }
+
+ else {
+ dotPlot[i][j] = ' ';
+ }
+ }
+ }
+ return dotPlot;
}
}
diff --git a/src/main/java/Lecture5Exercises.java b/src/main/java/Lecture5Exercises.java
index 2fb9556..45f05d3 100644
--- a/src/main/java/Lecture5Exercises.java
+++ b/src/main/java/Lecture5Exercises.java
@@ -1,3 +1,5 @@
+import java.util.Random;
+
public class Lecture5Exercises {
/*
@@ -6,7 +8,15 @@ public class Lecture5Exercises {
* lecture 5 page 14
*/
public String weakPassword(int length) {
- return null;
+
+ Random random = new Random();
+ String letters = "qwertyuiopasdfghjklzxcvbnm";
+ char[] password = new char[length];
+ for (int i = 0; i < length; i++) {
+ password[i] = letters.charAt(random.nextInt(letters.length()));
+ }
+ String finalPass= new String(password);
+ return finalPass;
}
/*
@@ -15,7 +25,22 @@ public String weakPassword(int length) {
* lecture 5 page 14
*/
public String strongPassword(int length) throws Exception {
- return null;
+
+ String letters ="qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM";
+ String numbers ="0123456789";
+ String specialchars="-/.^&*_!@%=+>";
+ String finalStr = letters + specialchars + numbers ;
+ Random random = new Random();
+ char[] password = new char[length];
+ password[0]=letters.charAt(random.nextInt(letters.length()));
+ password[1]=numbers.charAt(random.nextInt(numbers.length()));
+ password[2]=specialchars.charAt(random.nextInt(specialchars.length()));
+ for (int i = 3; i < length; i++) {
+ password[i] = finalStr.charAt(random.nextInt(finalStr.length()));
+ }
+ String finalPass= new String(password);
+ return finalPass;
+
}
/*
diff --git a/src/main/java/Lecture6Exercises.java b/src/main/java/Lecture6Exercises.java
index 2a89978..2109fcd 100644
--- a/src/main/java/Lecture6Exercises.java
+++ b/src/main/java/Lecture6Exercises.java
@@ -1,4 +1,7 @@
+import java.util.ArrayList;
+import java.util.HashSet;
import java.util.List;
+import java.util.Set;
public class Lecture6Exercises {
@@ -8,7 +11,12 @@ public class Lecture6Exercises {
* lecture 6 page 16
*/
public long calculateEvenSum(int[] arr) {
- return 0L;
+
+ long sum=0;
+ for (int i = 0 ; i=0; i--){
+ reverse[i]=arr[arr.length-1-i];
+ }
+ return reverse;
}
/*
@@ -25,7 +38,17 @@ public int[] reverseArray(int[] arr) {
* lecture 6 page 21
*/
public double[][] matrixProduct(double[][] m1, double[][] m2) throws RuntimeException {
- return null;
+
+ double[][] product = new double[m1.length][m2[0].length];
+ for(int i=0;i> arrayToList(String[][] names) {
- return null;
+
+ List> result = new ArrayList<>();
+ for (String[] i : names) {
+ List list = new ArrayList<>();
+ for (String j : i) {
+ list.add(j);
+ }
+ result.add(list);
+ }
+ return result;
}
/*
@@ -43,7 +75,25 @@ public List> arrayToList(String[][] names) {
* lecture 6 page 30
*/
public List primeFactors(int n) {
- return null;
+
+ List primeFactors =new ArrayList<>();
+ while (n % 2 == 0) {
+ primeFactors.add(2);
+ n /= 2;
+ }
+ for (int i = 3; i <= Math.sqrt(n); i += 2) {
+ while (n % i == 0) {
+ primeFactors.add(i);
+ n /= i;
+ }
+ }
+ if (n > 2) {
+ primeFactors.add(n);
+ }
+ Set set = new HashSet<>(primeFactors);
+ primeFactors.clear();
+ primeFactors.addAll(set);
+ return primeFactors;
}
/*
@@ -51,6 +101,14 @@ public List primeFactors(int n) {
* lecture 6 page 30
*/
public List extractWord(String line) {
- return null;
+
+ List words = new ArrayList<>();
+ String[] split = line.split("[^a-zA-Z]+");
+ for (String word : split) {
+ if (!word.equals("")) {
+ words.add(word);
+ }
+ }
+ return words;
}
}