Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions .idea/.gitignore

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

11 changes: 11 additions & 0 deletions .idea/lab-java-interfaces-and-abstract-classes.iml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 8 additions & 0 deletions .idea/modules.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/vcs.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 8 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,14 @@ Once you finish the assignment, submit a URL link to your repository or your pul
4. `IntVector` should store numbers in an array with a length of 20 by default. When the `add` method is called, you must first determine if the array is full. If it is, create a new array that is double the size of the current array, move all elements over to the new array and add the new element. (For example, an array of length 10 would be increased to 20.)
5. In your `README.md`, include an example of when `IntArrayList` would be more efficient and when `IntVector` would be more efficient.

## IntArrayList vs IntVector Efficiency

- IntArrayList:
- Esta opcion es más eficiente cuando es importante el uso de la memoria y no se espera un crecimiento muy frecuente de la lista

- IntVector:
- Por otro lado, esta opcion es más práctica cuando se piensa añadir elementos con frecuencia

<br>

## FAQs
Expand Down
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
67 changes: 67 additions & 0 deletions src/com/ironhack/lab/Main.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
package com.ironhack.lab;

import com.ironhack.lab.exercise1.BigDecimalOperations;
import com.ironhack.lab.exercise2.Sedan;
import com.ironhack.lab.exercise2.Truck;
import com.ironhack.lab.exercise2.UtilityVehicle;
import com.ironhack.lab.exercise3.TvSeries;
import com.ironhack.lab.exercise3.Movie;
import com.ironhack.lab.exercise4.IntArrayList;
import com.ironhack.lab.exercise4.IntVector;

import java.math.BigDecimal;

public class Main {
public static void main(String[] args){
System.out.println("Iniciando lab sem 3");

//Creando un Bigdecimal
BigDecimal value = new BigDecimal("2.4532");


System.out.println("The value in exercise 1 is: " + BigDecimalOperations.roundBigDecimalToDouble(value));
System.out.println("The value in exercise 2 is: " + BigDecimalOperations.negateAndRound (value));

System.out.println("=== Car Inventory Test ===");

// Sedan
Sedan sedan = new Sedan("VIN001", "Toyota", "Corolla", 30000);
System.out.println(sedan.getInfo());

// UtilityVehicle
UtilityVehicle uv = new UtilityVehicle("VIN002", "Jeep", "Wrangler", 40000, true);
System.out.println(uv.getInfo());

// Truck
Truck truck = new Truck("VIN003", "Ford", "F-150", 50000, 3500.5);
System.out.println(truck.getInfo());

System.out.println("=== Video Test ===");

TvSeries series = new TvSeries("Breaking Bad", 50, 62);
Movie movie = new Movie("Inception", 148, 8.8);

System.out.println(series.getInfo());
System.out.println(movie.getInfo());

System.out.println("=== IntList Test ===");

IntArrayList arrayList = new IntArrayList();
arrayList.add(10);
arrayList.add(20);
arrayList.add(30);

System.out.println("IntArrayList element at index 0: " + arrayList.get(0));
System.out.println("IntArrayList element at index 1: " + arrayList.get(1));
System.out.println("IntArrayList element at index 2: " + arrayList.get(2));

IntVector vector = new IntVector();
vector.add(100);
vector.add(200);
vector.add(300);

System.out.println("IntVector element at index 0: " + vector.get(0));
System.out.println("IntVector element at index 1: " + vector.get(1));
System.out.println("IntVector element at index 2: " + vector.get(2));
}
}
19 changes: 19 additions & 0 deletions src/com/ironhack/lab/exercise1/BigDecimalOperations.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
package com.ironhack.lab.exercise1;

import java.math.BigDecimal;
import java.math.RoundingMode;

public class BigDecimalOperations {

//Ejercicio 1 redondear un Bigdecimal y convertirlo en bouble
public static double roundBigDecimalToDouble(BigDecimal number){
BigDecimal roundToTwoDecimals = number.setScale(2, RoundingMode.HALF_UP);
return roundToTwoDecimals.doubleValue();
}

//Ejercicio 2 Invertir signo y redondear la decima más cercana
public static BigDecimal negateAndRound(BigDecimal number){
BigDecimal invertedNumber = number.negate();
return invertedNumber.setScale(1, RoundingMode.HALF_UP );
}
}
52 changes: 52 additions & 0 deletions src/com/ironhack/lab/exercise2/Car.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
package com.ironhack.lab.exercise2;

//Clase abstracta para los modelos de coche
public abstract class Car{
private String vinNumber;
private String make;
private String model;
private int mileage;

//Cpnstructor de la clase abtracta Car

public Car(String vinNumber, String make, String model, int mileage) {
this.vinNumber = vinNumber;
this.make = make;
this.model = model;
this.mileage = mileage;
}

//Metodo getInfo
public String getInfo() {
return "VIN Number: " + vinNumber +
", Make: " + make +
", Model: " + model +
", Mileage: " + mileage;
}
//Getters de la clase

public String getVinNumber() {
return vinNumber;
}

public String getMake() {
return make;
}

public String getModel() {
return model;
}

public int getMileage() {
return mileage;
}

//toString()

@Override
public String toString() {
return getInfo();
}
}


8 changes: 8 additions & 0 deletions src/com/ironhack/lab/exercise2/Sedan.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package com.ironhack.lab.exercise2;

public class Sedan extends Car {

public Sedan(String vinNumber, String make, String model, int mileage) {
super(vinNumber, make, model, mileage);
}
}
22 changes: 22 additions & 0 deletions src/com/ironhack/lab/exercise2/Truck.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
package com.ironhack.lab.exercise2;

public class Truck extends Car {
private double towingCapacity;

//Constructor

public Truck(String vinNumber, String make, String model, int mileage, double towingCapacity) {
super(vinNumber, make, model, mileage);
this.towingCapacity = towingCapacity;
}

//Getters de la clase
public double getTowingCapacity() {
return towingCapacity;
}

@Override
public String getInfo() {
return super.getInfo() + ", Towing Capacity: " + towingCapacity;
}
}
23 changes: 23 additions & 0 deletions src/com/ironhack/lab/exercise2/UtilityVehicle.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
package com.ironhack.lab.exercise2;

public class UtilityVehicle extends Car {
private boolean fourWheelDrive;

//Constructor

public UtilityVehicle(String vinNumber, String make, String model, int mileage, boolean fourWheelDrive) {
super(vinNumber, make, model, mileage);
this.fourWheelDrive = fourWheelDrive;
}

//Getters de la clase

public boolean isFourWheelDrive() {
return fourWheelDrive;
}

@Override
public String getInfo() {
return super.getInfo() + ", Four Wheel Drive: " + fourWheelDrive;
}
}
19 changes: 19 additions & 0 deletions src/com/ironhack/lab/exercise3/Movie.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
package com.ironhack.lab.exercise3;

public class Movie extends Video{
private double rating;

public Movie(String title, int duration, double rating) {
super(title, duration);
this.rating = rating;
}

public double getRating() {
return rating;
}

@Override
public String getInfo() {
return super.getInfo() + ", Rating: " + rating;
}
}
19 changes: 19 additions & 0 deletions src/com/ironhack/lab/exercise3/TvSeries.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
package com.ironhack.lab.exercise3;

public class TvSeries extends Video {
private int episodes;

public TvSeries(String title, int duration, int episodes) {
super(title, duration);
this.episodes = episodes;
}

public int getEpisodes() {
return episodes;
}

@Override
public String getInfo() {
return super.getInfo() + ", Episodes: " + episodes;
}
}
30 changes: 30 additions & 0 deletions src/com/ironhack/lab/exercise3/Video.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
package com.ironhack.lab.exercise3;

public abstract class Video {
private String title;
private int duration;

public Video(String title, int duration) {
this.title = title;
this.duration = duration;
}

//Metodo getInfo
public String getInfo() {
return "Title: " + title +
", Duration: " + duration;
}

public String getTitle() {
return title;
}

public int getDuration() {
return duration;
}

@Override
public String toString() {
return getInfo();
}
}
38 changes: 38 additions & 0 deletions src/com/ironhack/lab/exercise4/IntArrayList.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
package com.ironhack.lab.exercise4;

public class IntArrayList implements IntList {

private int[] data;
private int size;

public IntArrayList() {
this.data = new int[10];
this.size = 0;
}

@Override
public void add(int number) {
if (size == data.length) {
int newLength = data.length + data.length / 2;
int[] newData = new int[newLength];

for (int i = 0; i < data.length; i++) {
newData[i] = data[i];
}

data = newData;
}

data[size] = number;
size++;
}

@Override
public int get(int id) {
if (id < 0 || id >= size) {
throw new IndexOutOfBoundsException("Invalid index: " + id);
}

return data[id];
}
}
6 changes: 6 additions & 0 deletions src/com/ironhack/lab/exercise4/IntList.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
package com.ironhack.lab.exercise4;

public interface IntList {
void add(int number);
int get(int id);
}
Loading