diff --git a/.idea/libraries/openjfx_javafx_base.xml b/.idea/libraries/openjfx_javafx_base.xml index 90e7dbd..6f47257 100644 --- a/.idea/libraries/openjfx_javafx_base.xml +++ b/.idea/libraries/openjfx_javafx_base.xml @@ -3,7 +3,7 @@ - + diff --git a/.idea/libraries/openjfx_javafx_controls.xml b/.idea/libraries/openjfx_javafx_controls.xml index 5956572..52406f3 100644 --- a/.idea/libraries/openjfx_javafx_controls.xml +++ b/.idea/libraries/openjfx_javafx_controls.xml @@ -3,11 +3,11 @@ - + - + - + diff --git a/.idea/libraries/openjfx_javafx_graphics.xml b/.idea/libraries/openjfx_javafx_graphics.xml index 8fdcc88..0cfcecc 100644 --- a/.idea/libraries/openjfx_javafx_graphics.xml +++ b/.idea/libraries/openjfx_javafx_graphics.xml @@ -3,9 +3,9 @@ - + - + diff --git a/WS23_24/Anwendungsentwicklung/Anwendungsentwicklung.iml b/WS23_24/Anwendungsentwicklung/Anwendungsentwicklung.iml index a993c1c..bd5bf97 100644 --- a/WS23_24/Anwendungsentwicklung/Anwendungsentwicklung.iml +++ b/WS23_24/Anwendungsentwicklung/Anwendungsentwicklung.iml @@ -11,5 +11,6 @@ + \ No newline at end of file diff --git a/WS23_24/Anwendungsentwicklung/src/Klausur_ueb/Lambda.scala b/WS23_24/Anwendungsentwicklung/src/Klausur_ueb/Lambda.scala index 510d4dd..0dc6941 100644 --- a/WS23_24/Anwendungsentwicklung/src/Klausur_ueb/Lambda.scala +++ b/WS23_24/Anwendungsentwicklung/src/Klausur_ueb/Lambda.scala @@ -2,13 +2,16 @@ package Klausur_ueb object Lambda { def main(args: Array[String]): Unit = { - val a = Array(1, 2, 3, 4, 5) - val summe = a.reduce((x: Int, y: Int) => x + y) + val a = Array(1.0, 2.0, 3.0, 4.0, 5.0) + val summe = a.reduce((x: Double, y: Double) => x + y) val summeKuerzer = a.reduce((x, y) => x + y) - val summeNochKuerzer = a.reduce(_ * _) + val prodNochKuerzer = a.reduce(_ * _) + val qNochKuerzer = a.reduce(_ / _) val summeGanzKurz = a.sum //vordefiniert println(summeGanzKurz) - println(summeNochKuerzer) + println(prodNochKuerzer) + println(qNochKuerzer) + println(1.0/120.0) } } diff --git a/WS23_24/Anwendungsentwicklung/src/P10/FrenchDude.scala b/WS23_24/Anwendungsentwicklung/src/P10/FrenchDude.scala index 8e02047..76d5338 100644 --- a/WS23_24/Anwendungsentwicklung/src/P10/FrenchDude.scala +++ b/WS23_24/Anwendungsentwicklung/src/P10/FrenchDude.scala @@ -4,19 +4,47 @@ import scala.annotation.tailrec object FrenchDude { def main(args: Array[String]): Unit = { - + startPascal(5) + println(" ") + startPascal2(5) } - def pascalTriangle(c: Int, r: Int): Int = { - @tailrec - def loop(c0: Int, r0: Int, pred: Array[Int], cur: Array[Int]): Int = { - cur(c0) = (if (c0 > 0) pred(c0 - 1) else 0) + (if (c0 < r0) pred(c0) else 0) - if ((c0 == c) && (r0 == r)) cur(c0) - else if (c0 < r0) loop(c0 + 1, r0, pred, cur) - else loop(0, r0 + 1, cur, new Array(_length = r0 + 2)) + def startPascal(n:Int):Unit={ + pascal(Array(1),n) + } + def startPascal2(n:Int):Unit={ + pascal2(Array(1),n) + } + + //Endrekursiv + @tailrec + def pascal (arr:Array[Int],n:Int): Unit = { + arr.foreach(v => print(v+" ")) + var newArr = Array[Int]() + newArr = newArr :+ 1 + for (i <- arr.indices){ + if (i print(v+" ")) + var newArr = Array[Int]() + newArr = newArr :+ 1 + for (i <- arr.indices){ + if (i= containArr.length) + println("end") + else { + println(containArr(index).toString + ": " + searchArr.count(_==containArr(index))) + count(searchArr, containArr, index+1) + } + } + + //Rekursiv, aber nicht Endrekursiv + def count2(searchArr: Array[?], containArr: Array[?], index:Int): Unit = { + if (index >= containArr.length) + println("end") + else { + count2(searchArr, containArr, index+1) + println(containArr(index).toString + ": " + searchArr.count(_==containArr(index))) + } + } +} diff --git a/WS23_24/Anwendungsentwicklung/src/P9/Numbers.scala b/WS23_24/Anwendungsentwicklung/src/P9/Numbers.scala deleted file mode 100644 index 530cd1f..0000000 --- a/WS23_24/Anwendungsentwicklung/src/P9/Numbers.scala +++ /dev/null @@ -1,10 +0,0 @@ -package P9 - -object Numbers { - def main(args: Array[String]) { - println() - } - - - -} diff --git a/WS23_24/Anwendungsentwicklung/src/P9/Palindrom.scala b/WS23_24/Anwendungsentwicklung/src/P9/Palindrom.scala deleted file mode 100644 index 5971f56..0000000 --- a/WS23_24/Anwendungsentwicklung/src/P9/Palindrom.scala +++ /dev/null @@ -1,12 +0,0 @@ -object Palindrom { - def main(args: Array[String]) { - println(startCheck("ABCCBA")) - } - - def startCheck(word: String): Boolean = { - check(0, word) - } - def check(i: Int, word: String): Boolean = { - if((word.length/2)<=i) true else if (word.charAt(i)==word.charAt(word.length-i-1)&&check(i+1,word)) true else false - } -} \ No newline at end of file diff --git a/WS23_24/Anwendungsentwicklung/src/P9/Palindrome.scala b/WS23_24/Anwendungsentwicklung/src/P9/Palindrome.scala new file mode 100644 index 0000000..16f1627 --- /dev/null +++ b/WS23_24/Anwendungsentwicklung/src/P9/Palindrome.scala @@ -0,0 +1,28 @@ +package P9 + +import scala.annotation.tailrec + +object Palindrome { + def main(args: Array[String]): Unit = { + val word = "ABCDCBA" + println(startCheck(word)) + println(startCheck2(word)) + } + + private def startCheck(word: String): Boolean = { + check(0, word) + } + + private def startCheck2(word: String): Boolean = { + check2(0, word) + } + + @tailrec + private def check(i: Int, word: String): Boolean = { + ((word.length / 2) <= i) || (word.charAt(i) == word.charAt(word.length - i - 1) && check(i + 1, word)) //endrekursiv i guess + } + + private def check2(i: Int, word: String): Boolean = { + ((word.length / 2) <= i) || check2(i + 1, word) && (word.charAt(i) == word.charAt(word.length - i - 1)) //rekursiv, aber nicht endrekursiv + } +} \ No newline at end of file diff --git a/out/production/Anwendungsentwicklung/Klausur_ueb/Lambda$.class b/out/production/Anwendungsentwicklung/Klausur_ueb/Lambda$.class index fdc1e3d..6a163ee 100644 Binary files a/out/production/Anwendungsentwicklung/Klausur_ueb/Lambda$.class and b/out/production/Anwendungsentwicklung/Klausur_ueb/Lambda$.class differ diff --git a/out/production/Anwendungsentwicklung/P10/FrenchDude$.class b/out/production/Anwendungsentwicklung/P10/FrenchDude$.class index 94140bb..90ef9a0 100644 Binary files a/out/production/Anwendungsentwicklung/P10/FrenchDude$.class and b/out/production/Anwendungsentwicklung/P10/FrenchDude$.class differ diff --git a/out/production/Anwendungsentwicklung/P10/FrenchDude.class b/out/production/Anwendungsentwicklung/P10/FrenchDude.class index a0472c0..d5d1a20 100644 Binary files a/out/production/Anwendungsentwicklung/P10/FrenchDude.class and b/out/production/Anwendungsentwicklung/P10/FrenchDude.class differ diff --git a/out/production/Anwendungsentwicklung/P9/Numbers$.class b/out/production/Anwendungsentwicklung/P9/Numbers$.class index 12d9dd3..cca3c7d 100644 Binary files a/out/production/Anwendungsentwicklung/P9/Numbers$.class and b/out/production/Anwendungsentwicklung/P9/Numbers$.class differ diff --git a/out/production/Anwendungsentwicklung/P9/Numbers.class b/out/production/Anwendungsentwicklung/P9/Numbers.class index deb8a30..1014937 100644 Binary files a/out/production/Anwendungsentwicklung/P9/Numbers.class and b/out/production/Anwendungsentwicklung/P9/Numbers.class differ diff --git a/out/production/Anwendungsentwicklung/P9/Palindrome$.class b/out/production/Anwendungsentwicklung/P9/Palindrome$.class new file mode 100644 index 0000000..56739ab Binary files /dev/null and b/out/production/Anwendungsentwicklung/P9/Palindrome$.class differ diff --git a/out/production/Anwendungsentwicklung/P9/Palindrome.class b/out/production/Anwendungsentwicklung/P9/Palindrome.class new file mode 100644 index 0000000..cad8ebf Binary files /dev/null and b/out/production/Anwendungsentwicklung/P9/Palindrome.class differ diff --git a/out/production/Anwendungsentwicklung/Palindrom$.class b/out/production/Anwendungsentwicklung/Palindrom$.class deleted file mode 100644 index 6c538b5..0000000 Binary files a/out/production/Anwendungsentwicklung/Palindrom$.class and /dev/null differ diff --git a/out/production/Anwendungsentwicklung/Palindrom.class b/out/production/Anwendungsentwicklung/Palindrom.class deleted file mode 100644 index 23f3132..0000000 Binary files a/out/production/Anwendungsentwicklung/Palindrom.class and /dev/null differ