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.

Binary file added lab108/.DS_Store
Binary file not shown.
29 changes: 29 additions & 0 deletions lab108/untitled/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
### IntelliJ IDEA ###
out/
!**/src/main/**/out/
!**/src/test/**/out/

### Eclipse ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
bin/
!**/src/main/**/bin/
!**/src/test/**/bin/

### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/

### VS Code ###
.vscode/

### Mac OS ###
.DS_Store
3 changes: 3 additions & 0 deletions lab108/untitled/.idea/.gitignore

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

6 changes: 6 additions & 0 deletions lab108/untitled/.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 lab108/untitled/.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 lab108/untitled/.idea/vcs.xml

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

1 change: 1 addition & 0 deletions lab108/untitled/Lab1.08
Submodule Lab1.08 added at 805a10
11 changes: 11 additions & 0 deletions lab108/untitled/Lab108.iml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>
5 changes: 5 additions & 0 deletions lab108/untitled/src/Main.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
public class Main {
public static void main(String[] args) {
System.out.println("Hello world!");
}
}
29 changes: 29 additions & 0 deletions lab108/untitled/src/bigdecimaloperations/bigdecimaloperations.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
package bigdecimaloperations;

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

class BigDecimalOperations {

// Method 1: Round to nearest 100th
public static double roundToNearestHundredth(BigDecimal number) {
return number.setScale(2, RoundingMode.HALF_UP).doubleValue();
}

// Method 2: Inverting and rounding
public static double invertSignAndRoundToTenth(BigDecimal number) {
BigDecimal inverted = number.negate();
return inverted.setScale(1, RoundingMode.HALF_UP).doubleValue();
}

public static void main(String[] args) {
// Test
BigDecimal num1 = new BigDecimal("76.265481");
BigDecimal num2 = new BigDecimal("9.1764");
BigDecimal num3 = new BigDecimal("-26.84");

System.out.println("Round to hundredth: " + roundToNearestHundredth(num1));
System.out.println("Invert and round to tenth (9.1764): " + invertSignAndRoundToTenth(num2));
System.out.println("Invert and round to tenth (-26.84): " + invertSignAndRoundToTenth(num3));
}
}
17 changes: 17 additions & 0 deletions lab108/untitled/src/carinventorysystem/Car.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
package carinventorysystem;

public abstract class Car {
protected String vinNumber; //representing car VIN number
protected String make; //representing brand
protected String model; //representing model
protected int mileage; // representing 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(); //returns string containing all car properties in a legible format
}
13 changes: 13 additions & 0 deletions lab108/untitled/src/carinventorysystem/Main.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
package carinventorysystem;

public class Main {
public static void main(String[] args) {
Car sedan = new Sedan("1CRAYCRAY", "Toyota", "Corolla", 15000);
Car suv = new UtilityVehicle("2K00L4SKOOL", "John Deere", "Gator", 20000, true);
Car truck = new Truck("50ORYN07500RY", "GMC", "Hummer", 25000, 5000.5);

System.out.println(sedan.getInfo());
System.out.println(suv.getInfo());
System.out.println(truck.getInfo());
}
}
13 changes: 13 additions & 0 deletions lab108/untitled/src/carinventorysystem/Sedan.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
package carinventorysystem;

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 + "]";
}
}
16 changes: 16 additions & 0 deletions lab108/untitled/src/carinventorysystem/Truck.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
package carinventorysystem;

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 +
", Towing Capacity: " + towingCapacity + "]";
}
}
16 changes: 16 additions & 0 deletions lab108/untitled/src/carinventorysystem/UtilityVehicle.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
package carinventorysystem;

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 +
", FourWheelDrive: " + fourWheelDrive + "]";
}
}
29 changes: 29 additions & 0 deletions lab108/untitled/src/intlistinterface/IntArrayList.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
package intlistinterface;

import java.util.Arrays;

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

public IntArrayList() {
array = new int[10];
size = 0;
}

@Override
public void add(int number) {
if (size == array.length) {
array = Arrays.copyOf(array, array.length + array.length / 2);
}
array[size++] = number;
}

@Override
public int get(int id) {
if (id < 0 || id >= size) {
throw new IndexOutOfBoundsException();
}
return array[id];
}
}
6 changes: 6 additions & 0 deletions lab108/untitled/src/intlistinterface/IntList.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
package intlistinterface;

public interface IntList {
void add(int number);
int get(int id);
}
29 changes: 29 additions & 0 deletions lab108/untitled/src/intlistinterface/IntVector.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
package intlistinterface;

import java.util.Arrays;

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

public IntVector() {
array = new int[20];
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 < 0 || id >= size) {
throw new IndexOutOfBoundsException();
}
return array[id];
}
}
52 changes: 52 additions & 0 deletions lab108/untitled/src/intlistinterface/Main.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
package intlistinterface;

public class Main {
public static void main(String[] args) {
IntList arrayList = new IntArrayList();
IntList vector = new IntVector();

for (int i = 0; i < 15; i++) {
arrayList.add(i);
vector.add(i);
}

System.out.println("ArrayList element at 5: " + arrayList.get(5));
System.out.println("Vector element at 5: " + vector.get(5));
}
}
//IntArrayList sample
//class casoProcesoSingular {
// public static void main(String[] args) {
// IntList arrayList = new IntArrayList();
// for (int i = 2; i < 2000000; i++) {
// arrayList.add(i); // 1 proceso y al evitar sincronización, será más rápido
// }
// System.out.println("ArrayList element at 200: " + arrayList.get(200)); // O(1) access
// }
//}
//class CasoSubProcesoMultiple {
// public static void main(String[] args) {
// IntList vector = new IntVector();
//
// Runnable task = () -> {
// for (int i = 2; i < 2000; i++) {
// vector.add(i); // add seguro
// }
// };
//
// Thread subproceso1 = new Thread(task);
// Thread subproceso2 = new Thread(task);
//
// subproceso1.start();
// subproceso2.start();
//
// try {
// subproceso1.join();
// subproceso2.join();
// } catch (InterruptedException e) {
// e.printStackTrace();
// }
//
// System.out.println("Vector element at 200: " + vector.get(200)); // acceso sguro
// }
//}
15 changes: 15 additions & 0 deletions lab108/untitled/src/videostreamingservice/Main.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
package videostreamingservice;

public class Main {
public static void main(String[] args) {
Video movie = new Movie("The Princess Bride", 98, 9.8);
Video tvSeries = new TvSeries("Curb Your Enthusiasm", 32, 120);

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

System.out.println(tvSeries.getInfo());


System.out.println("Both masterpieces, worth a watch.... or 17");
}
}
15 changes: 15 additions & 0 deletions lab108/untitled/src/videostreamingservice/Movie.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
package videostreamingservice;

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 + " min, Rating: " + rating + "]";
}
}
15 changes: 15 additions & 0 deletions lab108/untitled/src/videostreamingservice/TvSeries.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
package videostreamingservice;

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 + " min, Episodes: " + episodes + "]";
}
}
13 changes: 13 additions & 0 deletions lab108/untitled/src/videostreamingservice/Video.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
package videostreamingservice;

public abstract class Video {
protected String title;
protected int duration; // in minutes

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

public abstract String getInfo();
}