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.

9 changes: 9 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.

39 changes: 39 additions & 0 deletions lab-java-interfaces-and-abstract-classes/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
target/
!.mvn/wrapper/maven-wrapper.jar
!**/src/main/**/target/
!**/src/test/**/target/
.kotlin

### IntelliJ IDEA ###
.idea/modules.xml
.idea/jarRepositories.xml
.idea/compiler.xml
.idea/libraries/
*.iws
*.iml
*.ipr

### Eclipse ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache

### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
build/
!**/src/main/**/build/
!**/src/test/**/build/

### VS Code ###
.vscode/

### Mac OS ###
.DS_Store
10 changes: 10 additions & 0 deletions lab-java-interfaces-and-abstract-classes/.idea/.gitignore

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

7 changes: 7 additions & 0 deletions lab-java-interfaces-and-abstract-classes/.idea/encodings.xml

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

14 changes: 14 additions & 0 deletions lab-java-interfaces-and-abstract-classes/.idea/misc.xml

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

6 changes: 6 additions & 0 deletions lab-java-interfaces-and-abstract-classes/.idea/vcs.xml

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

17 changes: 17 additions & 0 deletions lab-java-interfaces-and-abstract-classes/pom.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>org.example</groupId>
<artifactId>lab-java-interfaces-and-abstract-classes</artifactId>
<version>1.0-SNAPSHOT</version>

<properties>
<maven.compiler.source>21</maven.compiler.source>
<maven.compiler.target>21</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>

</project>
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
package org.example;
import java.math.BigDecimal;
import java.math.RoundingMode;

public class BigDecimalOperations {
public double roundedToTheNearestHundredth(BigDecimal number){
BigDecimal roundedNumber = number.setScale(2, RoundingMode.HALF_UP);
double doubleValue = roundedNumber.doubleValue();
return doubleValue;
}
public double reverseTheSignAndRoundNearestTenth(BigDecimal number){
BigDecimal roundedNumber = number.setScale(1, RoundingMode.HALF_UP);
double doubleValue = -roundedNumber.doubleValue();
return doubleValue;
}


}
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
package org.example;

public abstract class Car {
protected String vinNumber;
protected String make;
protected String model;
protected int milage;

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

public String getInfo(){
return "vinNumber: " + vinNumber + "\nmake: " + make + "\nmodel: " + model + "\nmilage: " + milage;
}

public String getVinNumber(){
return vinNumber;
}
public String getMake(){
return make;
}
public String getModel(){
return model;
}
public int getMilage(){
return milage;
}

public void setVinNumber(String vinNumber){
this.vinNumber = vinNumber;
}
public void setMake(String make){
this.make = make;
}
public void setModel(String model){
this.model = model;
}
public void setMilage(int milage){
this.milage = milage;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
package org.example;

import java.sql.Array;
import java.util.ArrayList;

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

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

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

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");
}
return data[id];
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
package org.example;

public interface IntList {
void add(int number);
int get(int id);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
package org.example;

public class VectorList implements IntList{
private int[] data;
private int size;

public IntVector() {
data = new int[20];
size = 0;
}

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

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");
}
return data[id];
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
package org.example;
import java.math.BigDecimal;

public class Main {
public static void main(String[] args) {
BigDecimalOperations operations = new BigDecimalOperations();
BigDecimal number = new BigDecimal(34.4564);
double result1 = operations.roundedToTheNearestHundredth(number);
double result2 = operations.reverseTheSignAndRoundNearestTenth(number);

System.out.println("Rounded to the nearest hundredth: " + result1 + "\nReverse the sign and rounded to nearest tenth: " + result2);

Truck truck = new Truck("VIN123321123213231", "Truck make", "Truck model", 323232,500);
Sedan sedan = new Sedan("VIN123346656476761", "Sedan make", "Sedan model", 23122);
UtilityVehicle utilityVehicle = new UtilityVehicle("VIN1324343346656476761", "Utility Vehicle make", "Utility Vehicle model", 2000, true);

System.out.println("\n" + truck.getInfo());
System.out.println("\n" + sedan.getInfo());
System.out.println("\n" + utilityVehicle.getInfo());

TvSeries tvSeries = new TvSeries("Game of Thrones", 54, 64 );
Movie movie = new Movie("Lord of the Rings",378,4.94);

System.out.println("\n" + tvSeries.getInfo());
System.out.println("\n" + movie.getInfo());



}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
package org.example;

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 "\nTitle: " + title + "\nDuration: " + duration + "\nRating: " + rating;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
package org.example;

public class Sedan extends Car {
public Sedan(String vinNumber, String make, String model, int milage){
super(vinNumber, make, model, milage);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
package org.example;

public class Truck extends Car {
private double towingCapacity;

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

@Override
public String getInfo(){
return "vinNumber: " + vinNumber + "\nmake: " + make + "\nmodel: " + model + "\nmilage: " + milage + "\ntowing capacity: " + towingCapacity;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
package org.example;

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 "\nTitle: " + title + "\nDuration: " + duration + "\nEpisodes: " + episodes;
}
}
Loading