diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..ab1f416 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,10 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Ignored default folder with query files +/queries/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml +# Editor-based HTTP Client requests +/httpRequests/ diff --git a/.idea/lab-java-interfaces-and-abstract-classes.iml b/.idea/lab-java-interfaces-and-abstract-classes.iml new file mode 100644 index 0000000..c75e89b --- /dev/null +++ b/.idea/lab-java-interfaces-and-abstract-classes.iml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..3653b1f --- /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..ff55171 --- /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/java/com/practice2/BigDecimalUtils.java b/java/com/practice2/BigDecimalUtils.java new file mode 100644 index 0000000..1368ef1 --- /dev/null +++ b/java/com/practice2/BigDecimalUtils.java @@ -0,0 +1,18 @@ +package com.practice2; + +import java.math.BigDecimal; +import java.math.RoundingMode; + +public class BigDecimalUtils { + + public static double round(BigDecimal number) { + return number.setScale(2, RoundingMode.HALF_UP).doubleValue(); + } + + public static double changeSign(BigDecimal number) { + return number + .negate() + .setScale(1, RoundingMode.HALF_UP) + .doubleValue(); + } +} \ No newline at end of file diff --git a/java/com/practice2/Main.java b/java/com/practice2/Main.java new file mode 100644 index 0000000..d9e969e --- /dev/null +++ b/java/com/practice2/Main.java @@ -0,0 +1,24 @@ +package com.practice2; +import com.practice2.list.IntArrayList; +import java.math.BigDecimal; + +public class Main { + public static void main(String[]args){ + + IntArrayList list = new IntArrayList(); + list.add(10); + list.add(20); + list.add(30); + + System.out.println(list.get(0)); + System.out.println(list.get(1)); + System.out.println(list.get(2)); + + BigDecimal num = new BigDecimal("4.2545"); + + System.out.println(BigDecimalUtils.round(num)); + System.out.println(BigDecimalUtils.changeSign(num)); + + } + +} diff --git a/java/com/practice2/cars/Car.java b/java/com/practice2/cars/Car.java new file mode 100644 index 0000000..510bc90 --- /dev/null +++ b/java/com/practice2/cars/Car.java @@ -0,0 +1,22 @@ +package com.practice2.cars; + +public abstract class Car { + private String vinNumber; + private String make; + private String model; + private int mileage; + + public Car(String vinNumber, String make, String model, int mileage) { + this.vinNumber = vinNumber; + this.make = make; + this.model = model; + this.mileage = mileage; + } + public String getInfo() { + return "VIN :" + vinNumber + + ",MAKE :" + make + + ",MODEL :" + model + + ",MILEAGE :" + mileage; + + } +} diff --git a/java/com/practice2/cars/Sedan.java b/java/com/practice2/cars/Sedan.java new file mode 100644 index 0000000..b06f495 --- /dev/null +++ b/java/com/practice2/cars/Sedan.java @@ -0,0 +1,8 @@ +package com.practice2.cars; + +public class Sedan extends Car { + + public Sedan(String vinNumber, String make, String model, int mileage) { + super(vinNumber, make, model, mileage); + } +} \ No newline at end of file diff --git a/java/com/practice2/cars/Truck.java b/java/com/practice2/cars/Truck.java new file mode 100644 index 0000000..6d4dd42 --- /dev/null +++ b/java/com/practice2/cars/Truck.java @@ -0,0 +1,11 @@ +package com.practice2.cars; + +public class Truck extends Car { + private double towingCapacity; + + public Truck(String vinNumber, String make, String model, int mileage, double towingCapacity) { + super(vinNumber, make, model, mileage); + this.towingCapacity = towingCapacity; + + } +} \ No newline at end of file diff --git a/java/com/practice2/cars/UtilityVehicle.java b/java/com/practice2/cars/UtilityVehicle.java new file mode 100644 index 0000000..535c3fd --- /dev/null +++ b/java/com/practice2/cars/UtilityVehicle.java @@ -0,0 +1,10 @@ +package com.practice2.cars; + +public class UtilityVehicle extends Car{ + private boolean fourWheelDrive; + + public UtilityVehicle(String vinNumber, String make, String model, int mileage, boolean fourWheelDrive) { + super(vinNumber, make, model, mileage); + this.fourWheelDrive = fourWheelDrive; + } +} diff --git a/java/com/practice2/list/IntArrayList.java b/java/com/practice2/list/IntArrayList.java new file mode 100644 index 0000000..de3e3c1 --- /dev/null +++ b/java/com/practice2/list/IntArrayList.java @@ -0,0 +1,23 @@ +package com.practice2.list; +public class IntArrayList implements IntList{ + + private int[] numbers = new int[10]; + private int size = 0; + + @Override + public void add(int number){ + if (size == numbers.length){ + int newSize = numbers.length + (numbers.length / 2); + int [] newArray = new int [newSize]; + System.arraycopy(numbers, 0, newArray, 0, size); + numbers = newArray; + } + numbers[size] = number; + size++; + } + + @Override + public int get(int id){ + return numbers[id]; + } +} diff --git a/java/com/practice2/list/IntList.java b/java/com/practice2/list/IntList.java new file mode 100644 index 0000000..5e80a53 --- /dev/null +++ b/java/com/practice2/list/IntList.java @@ -0,0 +1,7 @@ +package com.practice2.list; + +public interface IntList { + void add(int number); + int get(int id); + +} diff --git a/java/com/practice2/list/IntVector.java b/java/com/practice2/list/IntVector.java new file mode 100644 index 0000000..44f73c4 --- /dev/null +++ b/java/com/practice2/list/IntVector.java @@ -0,0 +1,27 @@ +package com.practice2.list; + +public class IntVector implements IntList{ + + + private int[] numbers = new int[20]; + private int size = 0; + + @Override + public void add(int number) { + if (size == numbers.length) { + int newSize = numbers.length * 2; + int[] newArray = new int[newSize]; + + System.arraycopy(numbers, 0, newArray, 0, size); + numbers = newArray; + } + + numbers[size] = number; + size++; + } + + @Override + public int get(int id) { + return numbers[id]; + } +} diff --git a/java/com/practice2/video/Movie.java b/java/com/practice2/video/Movie.java new file mode 100644 index 0000000..36e2aa6 --- /dev/null +++ b/java/com/practice2/video/Movie.java @@ -0,0 +1,10 @@ +package com.practice2.video; + +public class Movie extends Video{ + private double rating; + + public Movie (String title, int duration, double rating) { + super(title, duration); + this.rating = rating; + } +} diff --git a/java/com/practice2/video/TvSeries.java b/java/com/practice2/video/TvSeries.java new file mode 100644 index 0000000..eda8d55 --- /dev/null +++ b/java/com/practice2/video/TvSeries.java @@ -0,0 +1,11 @@ +package com.practice2.video; + +public class TvSeries extends Video{ + private int episodes; + + public TvSeries(String title, int duration, int episodes){ + super(title,duration); + this.episodes = episodes; + } + +} diff --git a/java/com/practice2/video/Video.java b/java/com/practice2/video/Video.java new file mode 100644 index 0000000..e09ee1d --- /dev/null +++ b/java/com/practice2/video/Video.java @@ -0,0 +1,18 @@ +package com.practice2.video; + +public abstract class Video { + private String title; + private int duration; + + public Video (String title, int duration){ + this.title = title; + this.duration = duration; + } + + public String getInfo(){ + return "TITLE :" + title + + "DURATION :" + duration; + + } + +} diff --git a/out/production/lab-java-interfaces-and-abstract-classes/com/practice2/BigDecimalUtils.class b/out/production/lab-java-interfaces-and-abstract-classes/com/practice2/BigDecimalUtils.class new file mode 100644 index 0000000..275f87c Binary files /dev/null and b/out/production/lab-java-interfaces-and-abstract-classes/com/practice2/BigDecimalUtils.class differ diff --git a/out/production/lab-java-interfaces-and-abstract-classes/com/practice2/Main.class b/out/production/lab-java-interfaces-and-abstract-classes/com/practice2/Main.class new file mode 100644 index 0000000..dc96539 Binary files /dev/null and b/out/production/lab-java-interfaces-and-abstract-classes/com/practice2/Main.class differ diff --git a/out/production/lab-java-interfaces-and-abstract-classes/com/practice2/cars/Car.class b/out/production/lab-java-interfaces-and-abstract-classes/com/practice2/cars/Car.class new file mode 100644 index 0000000..560aaf0 Binary files /dev/null and b/out/production/lab-java-interfaces-and-abstract-classes/com/practice2/cars/Car.class differ diff --git a/out/production/lab-java-interfaces-and-abstract-classes/com/practice2/cars/Sedan.class b/out/production/lab-java-interfaces-and-abstract-classes/com/practice2/cars/Sedan.class new file mode 100644 index 0000000..31c4289 Binary files /dev/null and b/out/production/lab-java-interfaces-and-abstract-classes/com/practice2/cars/Sedan.class differ diff --git a/out/production/lab-java-interfaces-and-abstract-classes/com/practice2/cars/Truck.class b/out/production/lab-java-interfaces-and-abstract-classes/com/practice2/cars/Truck.class new file mode 100644 index 0000000..03cbff6 Binary files /dev/null and b/out/production/lab-java-interfaces-and-abstract-classes/com/practice2/cars/Truck.class differ diff --git a/out/production/lab-java-interfaces-and-abstract-classes/com/practice2/cars/UtilityVehicle.class b/out/production/lab-java-interfaces-and-abstract-classes/com/practice2/cars/UtilityVehicle.class new file mode 100644 index 0000000..7eb10d4 Binary files /dev/null and b/out/production/lab-java-interfaces-and-abstract-classes/com/practice2/cars/UtilityVehicle.class differ diff --git a/out/production/lab-java-interfaces-and-abstract-classes/com/practice2/list/IntArrayList.class b/out/production/lab-java-interfaces-and-abstract-classes/com/practice2/list/IntArrayList.class new file mode 100644 index 0000000..1850178 Binary files /dev/null and b/out/production/lab-java-interfaces-and-abstract-classes/com/practice2/list/IntArrayList.class differ diff --git a/out/production/lab-java-interfaces-and-abstract-classes/com/practice2/list/IntList.class b/out/production/lab-java-interfaces-and-abstract-classes/com/practice2/list/IntList.class new file mode 100644 index 0000000..465e8f9 Binary files /dev/null and b/out/production/lab-java-interfaces-and-abstract-classes/com/practice2/list/IntList.class differ diff --git a/out/production/lab-java-interfaces-and-abstract-classes/com/practice2/list/IntVector.class b/out/production/lab-java-interfaces-and-abstract-classes/com/practice2/list/IntVector.class new file mode 100644 index 0000000..b0aace9 Binary files /dev/null and b/out/production/lab-java-interfaces-and-abstract-classes/com/practice2/list/IntVector.class differ diff --git a/out/production/lab-java-interfaces-and-abstract-classes/com/practice2/video/Movie.class b/out/production/lab-java-interfaces-and-abstract-classes/com/practice2/video/Movie.class new file mode 100644 index 0000000..3e8d202 Binary files /dev/null and b/out/production/lab-java-interfaces-and-abstract-classes/com/practice2/video/Movie.class differ diff --git a/out/production/lab-java-interfaces-and-abstract-classes/com/practice2/video/TvSeries.class b/out/production/lab-java-interfaces-and-abstract-classes/com/practice2/video/TvSeries.class new file mode 100644 index 0000000..33c138a Binary files /dev/null and b/out/production/lab-java-interfaces-and-abstract-classes/com/practice2/video/TvSeries.class differ diff --git a/out/production/lab-java-interfaces-and-abstract-classes/com/practice2/video/Video.class b/out/production/lab-java-interfaces-and-abstract-classes/com/practice2/video/Video.class new file mode 100644 index 0000000..95b85e9 Binary files /dev/null and b/out/production/lab-java-interfaces-and-abstract-classes/com/practice2/video/Video.class differ