object HelloWorld { def main(args: Array[String]) { var days = Array("Poniedziałek", "Wtorek", "Sroda", "Czwartek", "Piątek", "Sobota", "Niedziela"); // petla for for( x <- days){ println( x ); } println("-------------------") //petla for z nazwami na p for( x <- days if x.startsWith("P")){ println(x); } println("-------------------") //petla foreach days.foreach{ println } println("-------------------") //petla while println("Petla while:") var x = 0; while( x < days.length){ println(days(x)) x += 1; } println("-------------------") //funkcja rekurencyjna println("funkcja rekurencyjna:") def printArr( i: Int, arr:Array[String]): Unit = { if(i<arr.length){ println(arr(i)); printArr(i+1,days) } } printArr(0,days); println("-------------------") //funkcja rekurencyjna od konca listy println("funkcja rekurencyjna od konca listy:") def printArrRev( i: Int, arr:Array[String]): Unit = { var j = arr.length - 1; if(i <= j){ println(arr(j-i)); printArrRev(i+1,days) } } printArrRev(0,days); println("-------------------") //metody foldl i foldr println(days.foldLeft(""){(x,y) => x + y + " "}); println(days.foldRight(" "){(x,y) => x + " " + y}); println(days.foldLeft(""){(x,y) => x + y.startsWith("P")}) println("-------------------") //Metody foldl wypisując tylko dni z nazwami zaczynającymi się na „P” //second task var products = Map("T-shirt" -> 10, "Skirt" -> 30, "Dress" -> 100, "Boots" -> 150, "Jacket" -> 200); var products2 = products.mapValues(_*0.9) println(products2) println("-------------------") //third task def PrintTuple( tup: Product): Unit = { tup.productIterator.foreach(println) } var t = ("Hi", 10, true) PrintTuple(t) //task four // var products = Map("T-shirt" -> 10, "Skirt" -> 30, "Dress" -> 100, "Boots" -> 150, "Jacket" -> 200); def ShowOptions(x: Option[Float]):Any = x match { case Some(s) => s case None => "No such element" } //var keys = products.keys.toList val keys = products.keys.toList val keys2 = "Auto" :: keys keys2.foreach( x => print(ShowOptions(products.get(x)) + " ") ) // task five def showDay(x: String) : String = { var weekendDay: String = "weekendDay" var workDay: String = "workDay" x match { case "Poniedziałek" => workDay case "Wtorek" => workDay case "Sroda" => workDay case "Czwartek" => workDay case "Piątek" => workDay case "Sobota" => weekendDay case "Niedziela" => weekendDay case _ => "RandomDay" } } days.foreach( x => println(showDay(x))) //six task class Konto { private var stan = 0 def Stan = stan def this(kwota: Int) { this() this.stan = kwota } def Wplata(kwota :Int): Unit = { this.stan += kwota } def Wyplata(kwota :Int): Unit = { if(this.stan - kwota >= 0) this.stan -= kwota else println("Need more money !") } } //task eight var lista = List(1,2,4,5,0,6,0,4,0,6,0,5,2,3) def ZeroEraser (lista:List[Int]):List[Int] = { var newList:ListBuffer[Int] = new ListBuffer() for(value <- lista) if(value != 0) newList += value return newList.toList } println(ZeroEraser(lista)) //task nine def OneAdder (lst:List[Int]):List[Int] = { var newList = lst.map(_+1) return newList } println(OneAdder(lst)) } }
We use cookies to provide and improve our services. By using our site, you consent to our Cookies Policy. Accept Learn more