From 273cdb81fa8b553b8f376414fdea0b93c01e273a Mon Sep 17 00:00:00 2001 From: Usuario Date: Wed, 25 Sep 2024 19:00:27 +0200 Subject: [PATCH] lab 1.08 --- .idea/.gitignore | 3 ++ ...ava-interfaces-and-abstract-classes-es.iml | 9 ++++++ .idea/misc.xml | 6 ++++ .idea/modules.xml | 8 ++++++ .idea/src/BigDecimalOperations.java | 16 +++++++++++ .idea/src/Car.java | 16 +++++++++++ .idea/src/IntArrayList.java | 28 +++++++++++++++++++ .idea/src/IntList.java | 4 +++ .idea/src/IntVector.java | 28 +++++++++++++++++++ .idea/src/MainBigDecimalOperations.java | 24 ++++++++++++++++ .idea/src/MainCar.java | 15 ++++++++++ .idea/src/MainInt.java | 17 +++++++++++ .idea/src/MainMovie.java | 11 ++++++++ .idea/src/Movie.java | 13 +++++++++ .idea/src/Sedan.java | 11 ++++++++ .idea/src/Truck.java | 14 ++++++++++ .idea/src/TvSeries.java | 13 +++++++++ .idea/src/UtilityVehicle.java | 14 ++++++++++ .idea/src/Video.java | 11 ++++++++ .idea/vcs.xml | 6 ++++ 20 files changed, 267 insertions(+) create mode 100644 .idea/.gitignore create mode 100644 .idea/lab-java-interfaces-and-abstract-classes-es.iml create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/src/BigDecimalOperations.java create mode 100644 .idea/src/Car.java create mode 100644 .idea/src/IntArrayList.java create mode 100644 .idea/src/IntList.java create mode 100644 .idea/src/IntVector.java create mode 100644 .idea/src/MainBigDecimalOperations.java create mode 100644 .idea/src/MainCar.java create mode 100644 .idea/src/MainInt.java create mode 100644 .idea/src/MainMovie.java create mode 100644 .idea/src/Movie.java create mode 100644 .idea/src/Sedan.java create mode 100644 .idea/src/Truck.java create mode 100644 .idea/src/TvSeries.java create mode 100644 .idea/src/UtilityVehicle.java create mode 100644 .idea/src/Video.java create mode 100644 .idea/vcs.xml 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/lab-java-interfaces-and-abstract-classes-es.iml b/.idea/lab-java-interfaces-and-abstract-classes-es.iml new file mode 100644 index 0000000..d6ebd48 --- /dev/null +++ b/.idea/lab-java-interfaces-and-abstract-classes-es.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..66f29f6 --- /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..5f84b10 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/src/BigDecimalOperations.java b/.idea/src/BigDecimalOperations.java new file mode 100644 index 0000000..3954131 --- /dev/null +++ b/.idea/src/BigDecimalOperations.java @@ -0,0 +1,16 @@ +import java.math.BigDecimal; +import java.math.RoundingMode; + +public class BigDecimalOperations { + + public static double roundToHundredth(BigDecimal value) { + BigDecimal roundedValue = value.setScale(2, RoundingMode.HALF_UP); + return roundedValue.doubleValue(); + } + + public static BigDecimal invertAndRoundToTenth(BigDecimal value) { + BigDecimal invertedValue = value.negate(); + BigDecimal roundedValue = invertedValue.setScale(1, RoundingMode.HALF_UP); + return roundedValue; + } +} diff --git a/.idea/src/Car.java b/.idea/src/Car.java new file mode 100644 index 0000000..deb882d --- /dev/null +++ b/.idea/src/Car.java @@ -0,0 +1,16 @@ +public abstract class Car { + protected String vinNumber; + protected String make; + protected String model; + protected 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 abstract String getInfo(); +} + diff --git a/.idea/src/IntArrayList.java b/.idea/src/IntArrayList.java new file mode 100644 index 0000000..747cf79 --- /dev/null +++ b/.idea/src/IntArrayList.java @@ -0,0 +1,28 @@ +import java.util.Arrays; + +public class IntArrayList implements IntList { + private int[] array; + private int size; + + public IntArrayList() { + this.array = new int[10]; + this.size = 0; + } + + @Override + public void add(int number) { + + if (size == array.length) { + array = Arrays.copyOf(array, (int) (array.length * 1.5)); + } + array[size++] = number; + } + + @Override + public int get(int id) { + if (id >= size || id < 0) { + throw new IndexOutOfBoundsException("Index out of bounds"); + } + return array[id]; + } +} diff --git a/.idea/src/IntList.java b/.idea/src/IntList.java new file mode 100644 index 0000000..3a3835c --- /dev/null +++ b/.idea/src/IntList.java @@ -0,0 +1,4 @@ +public interface IntList { + void add(int number); + int get(int id); +} diff --git a/.idea/src/IntVector.java b/.idea/src/IntVector.java new file mode 100644 index 0000000..47bfcca --- /dev/null +++ b/.idea/src/IntVector.java @@ -0,0 +1,28 @@ +import java.util.Arrays; + +public class IntVector implements IntList { + private int[] array; + private int size; + + public IntVector() { + this.array = new int[20]; + this.size = 0; + } + + @Override + public void add(int number) { + + if (size == array.length) { + array = Arrays.copyOf(array, array.length * 2); + } + array[size++] = number; + } + + @Override + public int get(int id) { + if (id >= size || id < 0) { + throw new IndexOutOfBoundsException("Index out of bounds"); + } + return array[id]; + } +} diff --git a/.idea/src/MainBigDecimalOperations.java b/.idea/src/MainBigDecimalOperations.java new file mode 100644 index 0000000..2122912 --- /dev/null +++ b/.idea/src/MainBigDecimalOperations.java @@ -0,0 +1,24 @@ +import java.math.BigDecimal; + +public class MainBigDecimalOperations { + public static void main(String[] args) { + BigDecimal number1 = new BigDecimal("7.999"); + System.out.println("Redondeo a centésimo: " + BigDecimalOperations.roundToHundredth(number1)); + + BigDecimal number2 = new BigDecimal("123.456"); + System.out.println("Redondeo a centésimo: " + BigDecimalOperations.roundToHundredth(number2)); + + BigDecimal number3 = new BigDecimal("-0.555"); + System.out.println("Redondeo a centésimo: " + BigDecimalOperations.roundToHundredth(number3)); + + BigDecimal number4 = new BigDecimal("10.777"); + System.out.println("Invertir y redondear a décimos: " + BigDecimalOperations.invertAndRoundToTenth(number4)); + + BigDecimal number5 = new BigDecimal("-99.49"); + System.out.println("Invertir y redondear a décimos: " + BigDecimalOperations.invertAndRoundToTenth(number5)); + + BigDecimal number6 = new BigDecimal("0.111"); + System.out.println("Invertir y redondear a décimos: " + BigDecimalOperations.invertAndRoundToTenth(number6)); + } +} + diff --git a/.idea/src/MainCar.java b/.idea/src/MainCar.java new file mode 100644 index 0000000..b97c732 --- /dev/null +++ b/.idea/src/MainCar.java @@ -0,0 +1,15 @@ +public class MainCar { + public static void main(String[] args) { + + Car sedan = new Sedan("1HGCM82633A123456", "Honda", "Accord", 120000); + System.out.println(sedan.getInfo()); + + + Car utilityVehicle = new UtilityVehicle("2FMGK5D85EBD12345", "Ford", "Explorer", 95000, true); + System.out.println(utilityVehicle.getInfo()); + + + Car truck = new Truck("3C6UR5CL1EG123456", "Ram", "1500", 75000, 3.5); + System.out.println(truck.getInfo()); + } +} diff --git a/.idea/src/MainInt.java b/.idea/src/MainInt.java new file mode 100644 index 0000000..9cc4437 --- /dev/null +++ b/.idea/src/MainInt.java @@ -0,0 +1,17 @@ +public class MainInt { + public static void main(String[] args) { + + IntList intArrayList = new IntArrayList(); + for (int i = 0; i < 12; i++) { + intArrayList.add(i); + } + System.out.println("Elemento en el índice 5 de IntArrayList: " + intArrayList.get(5)); + + + IntList intVector = new IntVector(); + for (int i = 0; i < 25; i++) { + intVector.add(i); + } + System.out.println("Elemento en el índice 20 de IntVector: " + intVector.get(20)); + } +} diff --git a/.idea/src/MainMovie.java b/.idea/src/MainMovie.java new file mode 100644 index 0000000..fedde24 --- /dev/null +++ b/.idea/src/MainMovie.java @@ -0,0 +1,11 @@ +public class MainMovie { + public static void main(String[] args) { + + Video movie = new Movie("Inception", 148, 8.8); + System.out.println(movie.getInfo()); + + + Video tvSeries = new TvSeries("Breaking Bad", 60 * 62, 62); // duración total en minutos + System.out.println(tvSeries.getInfo()); + } +} diff --git a/.idea/src/Movie.java b/.idea/src/Movie.java new file mode 100644 index 0000000..064e7bd --- /dev/null +++ b/.idea/src/Movie.java @@ -0,0 +1,13 @@ +public class Movie extends Video { + private double rating; + + public Movie(String title, int duration, double rating) { + super(title, duration); + this.rating = rating; + } + + @Override + public String getInfo() { + return "Movie [Title: " + title + ", Duration: " + duration + " minutes, Rating: " + rating + "]"; + } +} diff --git a/.idea/src/Sedan.java b/.idea/src/Sedan.java new file mode 100644 index 0000000..81ff63d --- /dev/null +++ b/.idea/src/Sedan.java @@ -0,0 +1,11 @@ +public class Sedan extends Car { + + public Sedan(String vinNumber, String make, String model, int mileage) { + super(vinNumber, make, model, mileage); + } + + @Override + public String getInfo() { + return "Sedan [VIN: " + vinNumber + ", Make: " + make + ", Model: " + model + ", Mileage: " + mileage + " miles]"; + } +} diff --git a/.idea/src/Truck.java b/.idea/src/Truck.java new file mode 100644 index 0000000..85fcc25 --- /dev/null +++ b/.idea/src/Truck.java @@ -0,0 +1,14 @@ +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; + } + + @Override + public String getInfo() { + return "Truck [VIN: " + vinNumber + ", Make: " + make + ", Model: " + model + + ", Mileage: " + mileage + " miles, Towing Capacity: " + towingCapacity + " tons]"; + } +} diff --git a/.idea/src/TvSeries.java b/.idea/src/TvSeries.java new file mode 100644 index 0000000..fcc7ce4 --- /dev/null +++ b/.idea/src/TvSeries.java @@ -0,0 +1,13 @@ +public class TvSeries extends Video { + private int episodes; + + public TvSeries(String title, int duration, int episodes) { + super(title, duration); + this.episodes = episodes; + } + + @Override + public String getInfo() { + return "TV Series [Title: " + title + ", Duration: " + duration + " minutes, Episodes: " + episodes + "]"; + } +} diff --git a/.idea/src/UtilityVehicle.java b/.idea/src/UtilityVehicle.java new file mode 100644 index 0000000..28e063a --- /dev/null +++ b/.idea/src/UtilityVehicle.java @@ -0,0 +1,14 @@ +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; + } + + @Override + public String getInfo() { + return "UtilityVehicle [VIN: " + vinNumber + ", Make: " + make + ", Model: " + model + + ", Mileage: " + mileage + " miles, Four Wheel Drive: " + (fourWheelDrive ? "Yes" : "No") + "]"; + } +} diff --git a/.idea/src/Video.java b/.idea/src/Video.java new file mode 100644 index 0000000..d100ebc --- /dev/null +++ b/.idea/src/Video.java @@ -0,0 +1,11 @@ +public abstract class Video { + protected String title; + protected int duration; // Duración en minutos + + public Video(String title, int duration) { + this.title = title; + this.duration = duration; + } + + public abstract String getInfo(); +} 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