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
3 changes: 3 additions & 0 deletions .idea/.gitignore

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

9 changes: 9 additions & 0 deletions .idea/lab-java-interfaces-and-abstract-classes-es.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.

31 changes: 31 additions & 0 deletions src/main/java/org/example/App.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
package org.example;

import java.math.BigDecimal;
import java.math.RoundingMode;
import static org.example.BigDecimalPositiveNegative.NegativePositive;
import static org.example.BigDecimalRounding.roundTonearestCent;

public class App {
public static void main( String[] args ) {

BigDecimalRounding bigDecimalRounding = new BigDecimalRounding();

BigDecimal value = new BigDecimal("4.2545");
double roundValue = roundTonearestCent(value);
System.out.println(roundValue);

BigDecimal positiveNumber = new BigDecimal("1.2345");
System.out.println(BigDecimalPositiveNegative.NegativePositive(positiveNumber));

BigDecimal negativeNumber = new BigDecimal("-45.67");
System.out.println(BigDecimalPositiveNegative.NegativePositive(negativeNumber));








}
}
13 changes: 13 additions & 0 deletions src/main/java/org/example/BigDecimalPositiveNegative.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
package org.example;

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

public class BigDecimalPositiveNegative {
public static BigDecimal NegativePositive(BigDecimal value){
BigDecimal flippedValue = value.negate();
BigDecimal roundValue = flippedValue.setScale(1, RoundingMode.HALF_UP);

return roundValue;
}
}
12 changes: 12 additions & 0 deletions src/main/java/org/example/BigDecimalRounding.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
package org.example;

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

public class BigDecimalRounding {

public static double roundTonearestCent(BigDecimal value){
BigDecimal rounded = value.setScale(2, RoundingMode.HALF_UP);
return rounded.doubleValue();
}
}
53 changes: 53 additions & 0 deletions src/main/java/org/example/classes/Abstract/Car.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
package org.example.classes.Abstract;

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 String getInfo(){
return "VIN Number: " + this.vinNumber + " Make: " + this.make + " Model: " + this.model +
" Mileage: " + this.mileage + " Miles";
}

public String getVinNumber() {
return vinNumber;
}

public void setVinNumber(String vinNumber) {
this.vinNumber = vinNumber;
}

public String getMake() {
return make;
}

public void setMake(String make) {
this.make = make;
}

public String getModel() {
return model;
}

public void setModel(String model) {
this.model = model;
}

public int getMileage() {
return mileage;
}

public void setMileage(int mileage) {
this.mileage = mileage;
}
}
31 changes: 31 additions & 0 deletions src/main/java/org/example/classes/Abstract/Video.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
package org.example.classes.Abstract;

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

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

public String getInfo() {
return "titulo: "+ this.title + ", Duracion: " + this.duration + " minutos";
}

public String getTitle() {
return title;
}

public void setTitle(String title) {
this.title = title;
}

public int getDuration() {
return duration;
}

public void setDuration(int duration) {
this.duration = duration;
}
}
38 changes: 38 additions & 0 deletions src/main/java/org/example/classes/IntArrayList.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
package org.example.classes;

import org.example.interfaces.IntList;

public class IntArrayList implements IntList {
private int[] numbers;
private int size;

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


@Override
public void add(int number) {
if (size == numbers.length) {
int newLength = numbers.length + numbers.length / 2;
numbers = resizeArray(numbers, newLength);
}
numbers[size++] = number;
}

@Override
public int get(int id) {
if(id >= 0 && id <= size){
return numbers[id];
}else {
throw new IndexOutOfBoundsException("Indice fuera de rango: " + id);
}
}

private int[] resizeArray(int[] original, int newLength) {
int[] newArray = new int[newLength];
System.arraycopy(original, 0, newArray, 0, original.length);
return newArray;
}
}
40 changes: 40 additions & 0 deletions src/main/java/org/example/classes/IntVector.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
package org.example.classes;

import org.example.interfaces.IntList;

public class IntVector implements IntList {
private int[] numbers;
private int size;

public IntVector(int[] numbers, int size) {
this.numbers = new int[20];
this.size = 0;


}

@Override
public void add(int number) {
if(size == numbers.length){
int newLength = numbers.length * 2;
numbers = resizeArray(numbers, newLength);
}
numbers[size++] = number;
}

@Override
public int get(int id) {
if(id >= 0 && id <= size){
return numbers[id];
}else {
throw new IndexOutOfBoundsException("Indice fuera de rango: " + id);
}

}

private int[] resizeArray(int[] original, int newLength) {
int[] newArray = new int[newLength];
System.arraycopy(original, 0, newArray, 0, original.length);
return newArray;
}
}
29 changes: 29 additions & 0 deletions src/main/java/org/example/classes/Movie.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
package org.example.classes;

import org.example.classes.Abstract.Video;

public class Movie extends Video {
private double rating;


public Movie(String title, int duration) {
super(title, duration);
}

@Override
public String getInfo() {
return super.getInfo();
}

public double getRating() {
return rating;
}

public void setRating(double rating) {
this.rating = rating;
}
}




10 changes: 10 additions & 0 deletions src/main/java/org/example/classes/Sedan.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
package org.example.classes;

import org.example.classes.Abstract.Car;

public class Sedan extends Car {

public Sedan(String vinNumber, String make, String model, int mileage) {
super(vinNumber, make, model, mileage);
}
}
26 changes: 26 additions & 0 deletions src/main/java/org/example/classes/Truck.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
package org.example.classes;

import org.example.classes.Abstract.Car;

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 super.getInfo() + "Towing Capacity: " + towingCapacity + " Lbs";
}

public double getTowingCapacity() {
return towingCapacity;
}

public void setTowingCapacity(double towingCapacity) {
this.towingCapacity = towingCapacity;
}
}

24 changes: 24 additions & 0 deletions src/main/java/org/example/classes/TvSeries.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
package org.example.classes;

import org.example.classes.Abstract.Video;

public class TvSeries extends Video {
private int episodes;

public TvSeries(String title, int duration) {
super(title, duration);
}

@Override
public String getInfo() {
return super.getInfo();
}

public int getEpisodes() {
return episodes;
}

public void setEpisodes(int episodes) {
this.episodes = episodes;
}
}
24 changes: 24 additions & 0 deletions src/main/java/org/example/classes/UtilityVehicle.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
package org.example.classes;

import org.example.classes.Abstract.Car;

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;
}

public String getInfo(){
return super.getInfo() + "Four-Wheel Drive " + ((fourWheelDrive) ? "yes" : "No");
}

public boolean isFourWheelDrive() {
return fourWheelDrive;
}

public void setFourWheelDrive(boolean fourWheelDrive) {
this.fourWheelDrive = fourWheelDrive;
}
}
9 changes: 9 additions & 0 deletions src/main/java/org/example/interfaces/IntList.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
package org.example.interfaces;

public interface IntList {

void add( int number);
int get(int id);

}

Loading