<<<<<<< HEAD Java (JavaFX, SWT, Swing), Scala small study projects
BSUIR tasks, VMSIS team, 15 variant.
Here you can find study projects, which I create for learning Cross Platform Programming. lab001-lab004 written on Java, lab005-lab008 - Scala.
lab001:
- for GUI used Swing. GUI created without any special SceneBuilder. Just oldschool, just code GUI!
- task: create day of week calculator. I used special Java library, java.util.calendar.
- here only two classes, Main and DayOfWeekCalculator (GUI+logic).
lab002:
- for GUI used JavaFX.
- task: training OOP. We plant a flower (rose), water it and smell the bud. Only this order.
- here more than two classes. Wow! it may be amazing.
lab003:
- for GUI used JavaFX.
- continue training OOP. Here we add abstract class and some useless child classes.
- it is rebuilded second lab. But it is secret.
lab004:
- for GUI used SWT (which created just for Eclipse). Please, don't try do this yourselves, because Eclipse + SWT = pain. Sorry, but it is truth.
- multithreading training. Standard produser and consumer task with my own buffer.
lab005:
- it made with love, but it is not ideal. It has constructions if-else.
- there are two tasks: calculate average and array's extremum.
- tests here.
lab006:
- inside in the Main.scala you can find comments, where i write tasks. But i write them again here.
- first: reverse all words in the collection, but save their order.
- second: implement "flatten" using "fold"
- third: we have List[String], generate List[Int]. Example: List("1", "bb", "-9", "++") -> List(1, -9)
lab007:
- divide simple nubers by 2, composite - by 3, using match pattern
- one easy task with OS mainly implements in tests
Functional programming can be useful for you in future. I recommend learn the Scala. But russian sources are minimal and poor. Scala has a very beautiful documentation, you can find it here: https://docs.scala-lang.org/style/scaladoc.html#
Bonus: you can find Javadoc everywhere! It sometimes useful. (note for labs 001-004)