diff --git a/.idea/.gitignore b/.idea/.gitignore
new file mode 100644
index 0000000..26d3352
--- /dev/null
+++ b/.idea/.gitignore
@@ -0,0 +1,3 @@
+# Default ignored files
+/shelf/
+/workspace.xml
diff --git a/.idea/java-course.iml b/.idea/java-course.iml
new file mode 100644
index 0000000..d6ebd48
--- /dev/null
+++ b/.idea/java-course.iml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 0000000..a818314
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
new file mode 100644
index 0000000..edb5d78
--- /dev/null
+++ b/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000..35eb1dd
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/JavaCourse/src/main/java/com/rinftech/ExercitiiMariaTodirel/ex10/Main.java b/JavaCourse/src/main/java/com/rinftech/ExercitiiMariaTodirel/ex10/Main.java
new file mode 100644
index 0000000..c300a6a
--- /dev/null
+++ b/JavaCourse/src/main/java/com/rinftech/ExercitiiMariaTodirel/ex10/Main.java
@@ -0,0 +1,24 @@
+package com.rinftech.ExercitiiMariaTodirel.ex10;
+
+import java.util.*;
+
+public class Main {
+ public static List> grouping(String[] input){
+ Map> groups = new HashMap<>();
+ for(String element: input){
+ char[] chars = element.toCharArray();
+ Arrays.sort(chars);
+ String sortedElement = new String(chars);
+ if(!groups.containsKey(sortedElement)){
+ groups.put(sortedElement, new ArrayList<>());
+ }
+ groups.get(sortedElement).add(element);
+ }
+
+ return new ArrayList<>(groups.values());
+ }
+ public static void main(String[] args){
+ String[] input = {"eat", "tea", "tan", "ate", "nat", "bat", "listen", "silent", "enlist", "hello", "world", "dlrow"};
+ System.out.println(grouping(input));
+ }
+}
diff --git a/JavaCourse/src/main/java/com/rinftech/ExercitiiMariaTodirel/ex1and2/Main.java b/JavaCourse/src/main/java/com/rinftech/ExercitiiMariaTodirel/ex1and2/Main.java
new file mode 100644
index 0000000..e58538a
--- /dev/null
+++ b/JavaCourse/src/main/java/com/rinftech/ExercitiiMariaTodirel/ex1and2/Main.java
@@ -0,0 +1,39 @@
+package com.rinftech.ExercitiiMariaTodirel.ex1and2;
+
+
+public class Main {
+ public static int sum(int number) {
+ int sum = 0;
+ while (number != 0) {
+ sum += number % 10;
+ number /= 10;
+ }
+ return sum;
+ }
+
+ public static String count(String input) {
+ int[] counter = new int[3];
+ for(int i : counter){
+ i=0;
+ }
+ for (char letter : input.toCharArray()) {
+ if (('a' <= letter && 'z' >= letter) || ('A' <= letter && 'Z' >= letter)) {
+ counter[0]++;
+ } else if ('0' <= letter && '9' >= letter) {
+ counter[1]++;
+ } else if (letter == ' ') {
+ counter[2]++;
+ }
+ }
+ StringBuilder output = new StringBuilder();
+ output.append("Letters: ").append(counter[0]).append(", ");
+ output.append("Numbers: ").append(counter[1]).append(", ");
+ output.append("Spaces: ").append(counter[2]);
+ return output.toString();
+ }
+
+ public static void main(String[] args) {
+ System.out.println(sum(8733));
+ System.out.println(count( "The quick brown fox jumps over 42 lazy dogs"));
+ }
+}
\ No newline at end of file
diff --git a/JavaCourse/src/main/java/com/rinftech/ExercitiiMariaTodirel/ex3/Employee.java b/JavaCourse/src/main/java/com/rinftech/ExercitiiMariaTodirel/ex3/Employee.java
new file mode 100644
index 0000000..69843e3
--- /dev/null
+++ b/JavaCourse/src/main/java/com/rinftech/ExercitiiMariaTodirel/ex3/Employee.java
@@ -0,0 +1,23 @@
+package com.rinftech.ExercitiiMariaTodirel.ex3;
+
+import com.rinftech.ExercitiiMariaTodirel.ex3.Person;
+
+public class Employee extends Person {
+ private int id;
+ private String jobTitle;
+
+ public Employee(String firstName, String lastName, int id, String jobTitle) {
+ super(firstName, lastName);
+ this.id = id;
+ this.jobTitle = jobTitle;
+ }
+
+ public int getEmployeeId(){
+ return id;
+ }
+ @Override
+ public String getLastName(){
+ return super.getLastName()+", "+ jobTitle;
+ }
+
+}
diff --git a/JavaCourse/src/main/java/com/rinftech/ExercitiiMariaTodirel/ex3/Person.java b/JavaCourse/src/main/java/com/rinftech/ExercitiiMariaTodirel/ex3/Person.java
new file mode 100644
index 0000000..36e8a9a
--- /dev/null
+++ b/JavaCourse/src/main/java/com/rinftech/ExercitiiMariaTodirel/ex3/Person.java
@@ -0,0 +1,19 @@
+package com.rinftech.ExercitiiMariaTodirel.ex3;
+
+public class Person {
+ private String firstName;
+ private String lastName;
+
+ public Person(String firstName, String lastName) {
+ this.firstName = firstName;
+ this.lastName = lastName;
+ }
+
+ public String getFirstName(){
+ return firstName;
+ }
+ public String getLastName(){
+ return lastName;
+ }
+
+}
diff --git a/JavaCourse/src/main/java/com/rinftech/ExercitiiMariaTodirel/ex4/Car.java b/JavaCourse/src/main/java/com/rinftech/ExercitiiMariaTodirel/ex4/Car.java
new file mode 100644
index 0000000..77e3cbc
--- /dev/null
+++ b/JavaCourse/src/main/java/com/rinftech/ExercitiiMariaTodirel/ex4/Car.java
@@ -0,0 +1,22 @@
+package com.rinftech.ExercitiiMariaTodirel.ex4;
+
+public class Car extends Vehicle {
+ private int numberOfSeats;
+
+ public Car(String make, String model, int year, String fuelType, int numberOfSeats) {
+ super(make, model, year, fuelType);
+ this.numberOfSeats = numberOfSeats;
+ }
+ @Override
+ public double calculateFuelEfficeincy(){
+ return 8.5;
+ }
+ @Override
+ public double calculateDistanceTraveled(double fuelConsumed){
+ return fuelConsumed*calculateFuelEfficeincy();
+ }
+ @Override
+ public int calculateMaxSpeed(){
+ return 120;
+ }
+}
diff --git a/JavaCourse/src/main/java/com/rinftech/ExercitiiMariaTodirel/ex4/Motorcycle.java b/JavaCourse/src/main/java/com/rinftech/ExercitiiMariaTodirel/ex4/Motorcycle.java
new file mode 100644
index 0000000..cfb8aee
--- /dev/null
+++ b/JavaCourse/src/main/java/com/rinftech/ExercitiiMariaTodirel/ex4/Motorcycle.java
@@ -0,0 +1,22 @@
+package com.rinftech.ExercitiiMariaTodirel.ex4;
+
+public class Motorcycle extends Vehicle {
+ private boolean hasAttach;
+
+ public Motorcycle(String make, String model, int year, String fuelType, boolean hasAttach) {
+ super(make, model, year, fuelType);
+ this.hasAttach = hasAttach;
+ }
+ @Override
+ public double calculateFuelEfficeincy(){
+ return 9.5;
+ }
+ @Override
+ public double calculateDistanceTraveled(double fuelConsumed){
+ return fuelConsumed*calculateFuelEfficeincy();
+ }
+ @Override
+ public int calculateMaxSpeed(){
+ return 200;
+ }
+}
diff --git a/JavaCourse/src/main/java/com/rinftech/ExercitiiMariaTodirel/ex4/Truck.java b/JavaCourse/src/main/java/com/rinftech/ExercitiiMariaTodirel/ex4/Truck.java
new file mode 100644
index 0000000..5463e24
--- /dev/null
+++ b/JavaCourse/src/main/java/com/rinftech/ExercitiiMariaTodirel/ex4/Truck.java
@@ -0,0 +1,24 @@
+package com.rinftech.ExercitiiMariaTodirel.ex4;
+
+public class Truck extends Vehicle {
+ private int maxCargoWeight;
+
+ public Truck(String make, String model, int year, String fuelType, int maxCargoWeight) {
+ super(make, model, year, fuelType);
+ this.maxCargoWeight = maxCargoWeight;
+ }
+ @Override
+ public double calculateFuelEfficeincy(){
+ return 7.5;
+ }
+ @Override
+ public double calculateDistanceTraveled(double fuelConsumed){
+ return fuelConsumed*calculateFuelEfficeincy();
+ }
+ @Override
+ public int calculateMaxSpeed(){
+ return 80;
+ }
+
+
+}
diff --git a/JavaCourse/src/main/java/com/rinftech/ExercitiiMariaTodirel/ex4/Vehicle.java b/JavaCourse/src/main/java/com/rinftech/ExercitiiMariaTodirel/ex4/Vehicle.java
new file mode 100644
index 0000000..bfa0751
--- /dev/null
+++ b/JavaCourse/src/main/java/com/rinftech/ExercitiiMariaTodirel/ex4/Vehicle.java
@@ -0,0 +1,25 @@
+package com.rinftech.ExercitiiMariaTodirel.ex4;
+
+public class Vehicle {
+ private String make;
+ private String model;
+ private int year;
+ private String fuelType;
+
+ public Vehicle(String make, String model, int year, String fuelType) {
+ this.make = make;
+ this.model = model;
+ this.year = year;
+ this.fuelType = fuelType;
+ }
+ public double calculateFuelEfficeincy(){
+ return 0.0;
+ }
+ public double calculateDistanceTraveled(double fuelConsumed){
+ return 0.0;
+ }
+ public int calculateMaxSpeed(){
+ return 0;
+ }
+
+}
diff --git a/JavaCourse/src/main/java/com/rinftech/ExercitiiMariaTodirel/ex5/Main.java b/JavaCourse/src/main/java/com/rinftech/ExercitiiMariaTodirel/ex5/Main.java
new file mode 100644
index 0000000..bd1754f
--- /dev/null
+++ b/JavaCourse/src/main/java/com/rinftech/ExercitiiMariaTodirel/ex5/Main.java
@@ -0,0 +1,23 @@
+package com.rinftech.ExercitiiMariaTodirel.ex5;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+public class Main {
+ public static ListfindCommonElements(String[]array1, String[]array2){
+ ListcommonElements = new ArrayList<>();
+ ArrayListarray2List = new ArrayList<>(Arrays.asList(array2));
+ for(String element: array1){
+ if(array2List.contains(element)){
+ commonElements.add(element);
+ }
+ }
+ return commonElements;
+ }
+ public static void main(String[] args) {
+ String[] s1={ "Python", "Java", "GoLang", "Lisp"};
+ String[] s2={"Java", "C++", "Apples", "Hamburger", "Lisp"};
+ System.out.println(findCommonElements(s1, s2));
+ }
+}
diff --git a/JavaCourse/src/main/java/com/rinftech/ExercitiiMariaTodirel/ex6/Circle.java b/JavaCourse/src/main/java/com/rinftech/ExercitiiMariaTodirel/ex6/Circle.java
new file mode 100644
index 0000000..cf24d3d
--- /dev/null
+++ b/JavaCourse/src/main/java/com/rinftech/ExercitiiMariaTodirel/ex6/Circle.java
@@ -0,0 +1,15 @@
+package com.rinftech.ExercitiiMariaTodirel.ex6;
+
+public class Circle extends Shape{
+ final double PI = Math.PI;
+ private int radius;
+
+ public Circle(int radius) {
+ this.radius = radius;
+ }
+
+ @Override
+ public double calculateArea(){
+ return PI * (radius^2);
+ }
+}
diff --git a/JavaCourse/src/main/java/com/rinftech/ExercitiiMariaTodirel/ex6/Rectangle.java b/JavaCourse/src/main/java/com/rinftech/ExercitiiMariaTodirel/ex6/Rectangle.java
new file mode 100644
index 0000000..f613d10
--- /dev/null
+++ b/JavaCourse/src/main/java/com/rinftech/ExercitiiMariaTodirel/ex6/Rectangle.java
@@ -0,0 +1,15 @@
+package com.rinftech.ExercitiiMariaTodirel.ex6;
+
+public class Rectangle extends Shape{
+ private int width;
+ private int height;
+
+ public Rectangle(int width, int height) {
+ this.width = width;
+ this.height = height;
+ }
+ @Override
+ public double calculateArea(){
+ return width*height;
+ }
+}
diff --git a/JavaCourse/src/main/java/com/rinftech/ExercitiiMariaTodirel/ex6/Shape.java b/JavaCourse/src/main/java/com/rinftech/ExercitiiMariaTodirel/ex6/Shape.java
new file mode 100644
index 0000000..72b1370
--- /dev/null
+++ b/JavaCourse/src/main/java/com/rinftech/ExercitiiMariaTodirel/ex6/Shape.java
@@ -0,0 +1,7 @@
+package com.rinftech.ExercitiiMariaTodirel.ex6;
+
+public class Shape {
+ public double calculateArea(){
+ return 0.0;
+ }
+}
diff --git a/JavaCourse/src/main/java/com/rinftech/ExercitiiMariaTodirel/ex6/Triangle.java b/JavaCourse/src/main/java/com/rinftech/ExercitiiMariaTodirel/ex6/Triangle.java
new file mode 100644
index 0000000..f2829a4
--- /dev/null
+++ b/JavaCourse/src/main/java/com/rinftech/ExercitiiMariaTodirel/ex6/Triangle.java
@@ -0,0 +1,18 @@
+package com.rinftech.ExercitiiMariaTodirel.ex6;
+
+public class Triangle extends Shape{
+ private int a;
+ private int b;
+ private int c;
+
+ public Triangle(int a, int b, int c) {
+ this.a = a;
+ this.b = b;
+ this.c = c;
+ }
+ @Override
+ public double calculateArea(){
+ double p=(double) (a+b+c)/2;
+ return Math.sqrt(p * (p - a) * (p - b) * (p - c));
+ }
+}
diff --git a/JavaCourse/src/main/java/com/rinftech/ExercitiiMariaTodirel/ex7/Animal.java b/JavaCourse/src/main/java/com/rinftech/ExercitiiMariaTodirel/ex7/Animal.java
new file mode 100644
index 0000000..3cac4f6
--- /dev/null
+++ b/JavaCourse/src/main/java/com/rinftech/ExercitiiMariaTodirel/ex7/Animal.java
@@ -0,0 +1,10 @@
+package com.rinftech.ExercitiiMariaTodirel.ex7;
+
+public class Animal {
+ public String eat(){
+ return null;
+ }
+ public String sound(){
+ return null;
+ }
+}
diff --git a/JavaCourse/src/main/java/com/rinftech/ExercitiiMariaTodirel/ex7/Lion.java b/JavaCourse/src/main/java/com/rinftech/ExercitiiMariaTodirel/ex7/Lion.java
new file mode 100644
index 0000000..8c569e2
--- /dev/null
+++ b/JavaCourse/src/main/java/com/rinftech/ExercitiiMariaTodirel/ex7/Lion.java
@@ -0,0 +1,15 @@
+package com.rinftech.ExercitiiMariaTodirel.ex7;
+
+public class Lion extends Animal{
+ @Override
+ public String eat(){
+ return "meat";
+ }
+ @Override
+ public String sound(){
+ return "ROOOAR";
+ }
+
+
+
+}
diff --git a/JavaCourse/src/main/java/com/rinftech/ExercitiiMariaTodirel/ex7/Panther.java b/JavaCourse/src/main/java/com/rinftech/ExercitiiMariaTodirel/ex7/Panther.java
new file mode 100644
index 0000000..a5f4d92
--- /dev/null
+++ b/JavaCourse/src/main/java/com/rinftech/ExercitiiMariaTodirel/ex7/Panther.java
@@ -0,0 +1,13 @@
+package com.rinftech.ExercitiiMariaTodirel.ex7;
+
+public class Panther extends Animal{
+ @Override
+ public String eat(){
+ return "meat, fish and mice";
+ }
+ @Override
+ public String sound(){
+ return "mrrr";
+ }
+
+}
diff --git a/JavaCourse/src/main/java/com/rinftech/ExercitiiMariaTodirel/ex7/Tiger.java b/JavaCourse/src/main/java/com/rinftech/ExercitiiMariaTodirel/ex7/Tiger.java
new file mode 100644
index 0000000..c3d554e
--- /dev/null
+++ b/JavaCourse/src/main/java/com/rinftech/ExercitiiMariaTodirel/ex7/Tiger.java
@@ -0,0 +1,13 @@
+package com.rinftech.ExercitiiMariaTodirel.ex7;
+
+public class Tiger extends Animal{
+ @Override
+ public String eat(){
+ return "meat and fish";
+ }
+ @Override
+ public String sound(){
+ return "rooar";
+ }
+
+}
diff --git a/JavaCourse/src/main/java/com/rinftech/ExercitiiMariaTodirel/ex8/Main.java b/JavaCourse/src/main/java/com/rinftech/ExercitiiMariaTodirel/ex8/Main.java
new file mode 100644
index 0000000..fd68874
--- /dev/null
+++ b/JavaCourse/src/main/java/com/rinftech/ExercitiiMariaTodirel/ex8/Main.java
@@ -0,0 +1,16 @@
+package com.rinftech.ExercitiiMariaTodirel.ex8;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+public class Main {
+ public static Listswap(Listinput, int poz1, int poz2){
+ Collections.swap(input, poz1, poz2);
+ return input;
+ }
+ public static void main(String[] args){
+ Listinput = Arrays.asList("Red", "Green", "Black", "White", "Pink");
+ System.out.println(swap(input, 1, 4));
+ }
+}
diff --git a/JavaCourse/src/main/java/com/rinftech/ExercitiiMariaTodirel/ex9/Main.java b/JavaCourse/src/main/java/com/rinftech/ExercitiiMariaTodirel/ex9/Main.java
new file mode 100644
index 0000000..b3648c9
--- /dev/null
+++ b/JavaCourse/src/main/java/com/rinftech/ExercitiiMariaTodirel/ex9/Main.java
@@ -0,0 +1,18 @@
+package com.rinftech.ExercitiiMariaTodirel.ex9;
+
+import java.util.Arrays;
+import java.util.List;
+
+public class Main {
+ public static int[] firstAndLastIndexOf(Listinput, String element){
+ int[] firstAndLast = new int[2];
+ firstAndLast[0]=input.indexOf(element);
+ firstAndLast[1]=input.lastIndexOf(element);
+ return firstAndLast;
+ }
+
+ public static void main(String[] args){
+ Listinput= Arrays.asList( "Red", "Green", "Black", "White", "Pink", "Green", "Green", "Black", "Yellow", "White");
+ System.out.println("First occurence for Green is "+firstAndLastIndexOf(input,"Green")[0]+" and last is "+firstAndLastIndexOf(input,"Green")[1]);
+ }
+}