Semester 3 😎

This commit is contained in:
2023-08-14 11:41:26 -05:00
parent 02a88ea7fe
commit 8b9b520393
52 changed files with 1529 additions and 40 deletions

View File

@@ -0,0 +1,104 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Automobile.java</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<style type="text/css">
<!--
body {color: #a9b7c6; background-color: #2b2b2b; font-family: monospace}
pre {color: #a9b7c6; background-color: #2b2b2b; font-family: monospace}
table {color: #888888; background-color: #313335; font-family: monospace}
.ST2 {color: #9876aa}
.ST3 {color: #ffc66d}
.string {color: #6a8759}
.comment {color: #808080}
.whitespace {color: #505050}
.ST1 {color: #808080; font-family: monospace; font-weight: bold}
.ST0 {color: #287bde}
.literal {color: #cc7832}
.ST4 {font-family: monospace; font-style: italic}
-->
</style>
</head>
<body>
<table width="100%"><tr><td align="center">/home/caleb/ASDV-Java/Semester 2/Exams/Exam2-Practice_CalebFontenot/src/main/java/com/calebfontenot/exam2/practice_calebfontenot/Automobile.java</td></tr></table>
<pre>
<span class="comment">/*</span>
<span class="comment"> * Click </span><span class="ST0">nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt</span><span class="comment"> to change this license</span>
<span class="comment"> * Click </span><span class="ST0">nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java</span><span class="comment"> to edit this template</span>
<span class="comment"> */</span>
<span class="literal">package</span> com.calebfontenot.exam2.practice_calebfontenot;
<span class="literal">import</span> java.util.Objects;
<span class="comment">/**</span>
<span class="comment"> *</span>
<span class="comment"> * </span><span class="ST1">@author</span> <span class="comment">caleb</span>
<span class="comment">*/</span>
<span class="literal">public</span> <span class="literal">class</span> Automobile <span class="literal">implements</span> Comparable&lt;Automobile&gt; {
<span class="literal">private</span> String <span class="ST2">vin</span>;
<span class="literal">private</span> CountryOfOrigin <span class="ST2">origin</span>;
<span class="literal">public</span> Automobile(String vin, CountryOfOrigin origin)
{
<span class="literal">this</span>.<span class="ST2">vin</span> = vin;
<span class="literal">this</span>.<span class="ST2">origin</span> = origin;
}
<span class="literal">public</span> CountryOfOrigin <span class="ST3">getOrigin</span>()
{
<span class="literal">return</span> <span class="ST2">origin</span>;
}
<span class="literal">public</span> <span class="literal">void</span> <span class="ST3">setOrigin</span>(CountryOfOrigin origin)
{
<span class="literal">this</span>.<span class="ST2">origin</span> = origin;
}
<span class="literal">public</span> String <span class="ST3">getVin</span>()
{
<span class="literal">return</span> <span class="ST2">vin</span>;
}
<span class="literal">public</span> <span class="literal">void</span> <span class="ST3">setVin</span>(String vin)
{
<span class="literal">this</span>.<span class="ST2">vin</span> = vin;
}
@Override
<span class="literal">public</span> String <span class="ST3">toString</span>()
{
<span class="literal">return</span> <span class="string">&quot;</span><span class="string">Automobile{</span><span class="string">&quot;</span> + <span class="string">&quot;</span><span class="string">vin=</span><span class="string">&quot;</span> + <span class="ST2">vin</span> + <span class="string">&quot;</span><span class="string">, origin=</span><span class="string">&quot;</span> + <span class="ST2">origin</span> + <span class="string">&#39;</span><span class="string">}</span><span class="string">&#39;</span>;
}
@Override
<span class="literal">public</span> <span class="literal">boolean</span> <span class="ST3">equals</span>(Object obj)
{
<span class="literal">if</span> (<span class="literal">this</span> == obj) {
<span class="literal">return</span> <span class="literal">true</span>;
}
<span class="literal">if</span> (obj == <span class="literal">null</span>) {
<span class="literal">return</span> <span class="literal">false</span>;
}
<span class="literal">if</span> (getClass() != obj.getClass()) {
<span class="literal">return</span> <span class="literal">false</span>;
}
<span class="literal">final</span> Automobile other = (Automobile) obj;
<span class="literal">if</span> (!Objects.<span class="ST4">equals</span>(<span class="literal">t</span><span class="literal">his</span>.<span class="ST2">vin</span>, other.<span class="ST2">vin</span>)) {
<span class="literal">return</span> <span class="literal">false</span>;
}
<span class="literal">return</span> Objects.<span class="ST4">equals</span>(<span class="literal">t</span><span class="literal">his</span>.<span class="ST2">origin</span>, other.<span class="ST2">origin</span>);
}
@Override
<span class="literal">public</span> <span class="literal">int</span> <span class="ST3">compareTo</span>(Automobile o)
{
<span class="literal">return</span> <span class="ST2">vin</span>.compareTo(o.<span class="ST2">vin</span>);
}
}
</pre></body>
</html>

View File

@@ -0,0 +1,133 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>CountryOfOrigin.java</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<style type="text/css">
<!--
body {color: #a9b7c6; background-color: #2b2b2b; font-family: monospace}
pre {color: #a9b7c6; background-color: #2b2b2b; font-family: monospace}
table {color: #888888; background-color: #313335; font-family: monospace}
.ST2 {color: #9876aa}
.ST3 {color: #ffc66d}
.string {color: #6a8759}
.number {color: #6897bb}
.comment {color: #808080}
.whitespace {color: #505050}
.ST5 {color: #ffc66d; font-family: monospace; font-style: italic}
.ST6 {color: #9876aa; font-family: monospace; font-style: italic}
.ST1 {color: #808080; font-family: monospace; font-weight: bold}
.ST0 {color: #287bde}
.literal {color: #cc7832}
.ST4 {font-family: monospace; font-style: italic}
-->
</style>
</head>
<body>
<table width="100%"><tr><td align="center">/home/caleb/ASDV-Java/Semester 2/Exams/Exam2-Practice_CalebFontenot/src/main/java/com/calebfontenot/exam2/practice_calebfontenot/CountryOfOrigin.java</td></tr></table>
<pre>
<span class="comment">/*</span>
<span class="comment"> * Click </span><span class="ST0">nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt</span><span class="comment"> to change this license</span>
<span class="comment"> * Click </span><span class="ST0">nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java</span><span class="comment"> to edit this template</span>
<span class="comment"> */</span>
<span class="literal">package</span> com.calebfontenot.exam2.practice_calebfontenot;
<span class="literal">import</span> java.util.Arrays;
<span class="comment">/**</span>
<span class="comment"> *</span>
<span class="comment"> * </span><span class="ST1">@author</span> <span class="comment">caleb</span>
<span class="comment">*/</span>
<span class="literal">public</span> <span class="literal">class</span> CountryOfOrigin <span class="literal">implements</span> Cloneable, Comparable&lt;CountryOfOrigin&gt; {
<span class="literal">private</span> <span class="literal">char</span>[] <span class="ST2">country</span> = <span class="string">&quot;</span><span class="string">USA</span><span class="string">&quot;</span>.toCharArray();
<span class="literal">public</span> CountryOfOrigin() {}
<span class="literal">public</span> CountryOfOrigin(<span class="literal">char</span>[] country)
{
<span class="literal">this</span>.<span class="ST2">country</span> = country;
}
<span class="literal">public</span> String <span class="ST3">getCountry</span>()
{
<span class="literal">return</span> String.<span class="ST4">copyValueOf</span>(<span class="literal">t</span><span class="literal">his</span>.<span class="ST2">country</span>);
}
<span class="literal">public</span> <span class="literal">void</span> <span class="ST3">setCountry</span>(<span class="literal">char</span>[] country)
{
<span class="literal">this</span>.<span class="ST2">country</span> = country;
}
<span class="literal">public</span> <span class="literal">boolean</span> <span class="ST3">changeOneLetter</span>(<span class="literal">int</span> index, <span class="literal">char</span> newLetter)
{
<span class="literal">if</span> (index &gt;= <span class="literal">this</span>.<span class="ST2">country</span>.<span class="ST2">length</span> || index &lt; <span class="number">0</span>) {
<span class="literal">return</span> <span class="literal">false</span>;
}
<span class="literal">this</span>.<span class="ST2">country</span>[index] = newLetter;
<span class="literal">return</span> <span class="literal">true</span>;
}
@Override
<span class="literal">public</span> <span class="literal">boolean</span> <span class="ST3">equals</span>(Object obj)
{
<span class="literal">if</span> (<span class="literal">this</span> == obj) {
<span class="literal">return</span> <span class="literal">true</span>;
}
<span class="literal">if</span> (obj == <span class="literal">null</span>) {
<span class="literal">return</span> <span class="literal">false</span>;
}
<span class="literal">if</span> (getClass() != obj.getClass()) {
<span class="literal">return</span> <span class="literal">false</span>;
}
<span class="literal">final</span> CountryOfOrigin other = (CountryOfOrigin) obj;
<span class="literal">return</span> Arrays.<span class="ST4">equals</span>(<span class="literal">t</span><span class="literal">his</span>.<span class="ST2">country</span>, other.<span class="ST2">country</span>);
}
@Override
<span class="literal">public</span> String <span class="ST3">toString</span>()
{
<span class="literal">return</span> String.<span class="ST4">copyValueOf</span>(<span class="literal">t</span><span class="literal">his</span>.<span class="ST2">country</span>);
}
@Override
<span class="literal">public</span> <span class="literal">int</span> <span class="ST3">compareTo</span>(CountryOfOrigin o)
{
<span class="literal">return</span> String.<span class="ST4">copyValueOf</span>(<span class="literal">t</span><span class="literal">his</span>.<span class="ST2">country</span>).compareTo(String.<span class="ST4">copyValueOf</span>(o.<span class="ST2">country</span>));
}
@Override
<span class="literal">public</span> Object <span class="ST3">clone</span>() {
<span class="literal">return</span> <span class="literal">new</span> CountryOfOrigin(<span class="literal">n</span><span class="literal">ew</span> String(<span class="literal">t</span><span class="literal">his</span>.<span class="ST2">country</span>).toCharArray());
}
<span class="literal">public</span> <span class="literal">static</span> <span class="literal">void</span> <span class="ST5">main</span>(String[] args) <span class="literal">throws</span> CloneNotSupportedException
{
CountryOfOrigin c1 = <span class="literal">new</span> CountryOfOrigin();
CountryOfOrigin c2 = <span class="literal">new</span> CountryOfOrigin(<span class="string">&quot;</span><span class="string">GERMANY</span><span class="string">&quot;</span>.toCharArray());
CountryOfOrigin c3 = (CountryOfOrigin) c2.clone();
System.<span class="ST6">out</span>.println(<span class="string">&quot;</span><span class="string">c1 is: </span><span class="string">&quot;</span> + c1);
System.<span class="ST6">out</span>.println(<span class="string">&quot;</span><span class="string">c2 is: </span><span class="string">&quot;</span> + c2);
System.<span class="ST6">out</span>.println(<span class="string">&quot;</span><span class="string">c3 cloned of c2 is: </span><span class="string">&quot;</span> + c3);
c3.changeOneLetter(<span class="number">0</span>, <span class="string">&#39;</span><span class="string">J</span><span class="string">&#39;</span>);
c3.changeOneLetter(<span class="number">1</span>, <span class="string">&#39;</span><span class="string">A</span><span class="string">&#39;</span>);
c3.changeOneLetter(<span class="number">2</span>, <span class="string">&#39;</span><span class="string">P</span><span class="string">&#39;</span>);
System.<span class="ST6">out</span>.println(<span class="string">&quot;</span><span class="string">c3 after changeOneLetter is: </span><span class="string">&quot;</span> + c3);
System.<span class="ST6">out</span>.println(<span class="string">&quot;</span><span class="string">if this displays GERMANY and not JAPMANY</span><span class="literal">\n</span><span class="string">your clone is deep: </span><span class="string">&quot;</span> + c2);
System.<span class="ST6">out</span>.println(c1.compareTo(c2));
System.<span class="ST6">out</span>.println(c1.compareTo(c3));
System.<span class="ST6">out</span>.println(c1.equals(c2));
System.<span class="ST6">out</span>.println(c1.equals(c3));
System.<span class="ST6">out</span>.println(c2.getCountry());
c2.setCountry(<span class="string">&quot;</span><span class="string">ITALY</span><span class="string">&quot;</span>.toCharArray());
System.<span class="ST6">out</span>.println(c2.getCountry());
System.<span class="ST6">out</span>.println(c1.getCountry());
}
}
</pre></body>
</html>

View File

@@ -0,0 +1,68 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Dealership.java</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<style type="text/css">
<!--
body {color: #a9b7c6; background-color: #2b2b2b; font-family: monospace}
pre {color: #a9b7c6; background-color: #2b2b2b; font-family: monospace}
table {color: #888888; background-color: #313335; font-family: monospace}
.ST5 {color: #9876aa}
.number {color: #6897bb}
.string {color: #6a8759}
.comment {color: #808080}
.whitespace {color: #505050}
.ST3 {color: #ffc66d; font-family: monospace; font-style: italic}
.ST6 {color: #9876aa; font-family: monospace; font-style: italic}
.ST1 {color: #808080; font-family: monospace; font-weight: bold}
.ST2 {color: #8a653b}
.ST0 {color: #287bde}
.literal {color: #cc7832}
.ST4 {font-family: monospace; font-style: italic}
-->
</style>
</head>
<body>
<table width="100%"><tr><td align="center">/home/caleb/ASDV-Java/Semester 2/Exams/Exam2-Practice_CalebFontenot/src/main/java/com/calebfontenot/exam2/practice_calebfontenot/Dealership.java</td></tr></table>
<pre>
<span class="comment">/*</span>
<span class="comment"> * Click </span><span class="ST0">nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt</span><span class="comment"> to change this license</span>
<span class="comment"> * Click </span><span class="ST0">nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java</span><span class="comment"> to edit this template</span>
<span class="comment"> */</span>
<span class="literal">package</span> com.calebfontenot.exam2.practice_calebfontenot;
<span class="literal">import</span> java.util.ArrayList;
<span class="literal">import</span> java.util.Arrays;
<span class="comment">/**</span>
<span class="comment"> *</span>
<span class="comment"> * </span><span class="ST1">@author</span> <span class="comment">caleb</span>
<span class="comment">*/</span>
<span class="literal">public</span> <span class="literal">class</span> Dealership <span class="literal">extends</span> ArrayList&lt;Automobile&gt; {
<span class="comment">/**</span> <span class="comment">Sorts</span> <span class="comment">the</span> <span class="comment">inherited</span> <span class="comment">ArrayList</span> <span class="comment">of</span> <span class="comment">Automobiles</span>
<span class="comment"> * </span><span class="comment">into</span> <span class="comment">ascending</span> <span class="comment">order</span> <span class="comment">by</span> <span class="comment">vin</span> <span class="comment">number</span><span class="comment">.</span>
<span class="comment"> * </span><span class="ST1">@param</span> <span class="ST2">d</span> <span class="comment">the</span> <span class="comment">Dealership</span> <span class="comment">of</span> <span class="comment">Automobiles</span>
<span class="comment">*/</span>
<span class="literal">public</span> <span class="literal">static</span> <span class="literal">void</span> <span class="ST3">sortByVin</span>(Dealership d) { <span class="comment">//java.util.Collections.sort() could do all of this in a single line</span>
Object[] dealershipArray = d.toArray();
Arrays.<span class="ST4">sort</span>(dealershipArray);
d.clear();
<span class="literal">for</span> (<span class="literal">int</span> i = <span class="number">0</span>; i &lt; dealershipArray.<span class="ST5">length</span>; ++i) {
d.add((Automobile) dealershipArray[i]);
}
}
<span class="literal">public</span> <span class="literal">static</span> <span class="literal">void</span> <span class="ST3">main</span>(String[] args)
{
Dealership d = <span class="literal">new</span> Dealership();
d.add(<span class="literal">new</span> Automobile(<span class="string">&quot;</span><span class="string">8</span><span class="string">&quot;</span>, <span class="literal">new</span> CountryOfOrigin(<span class="string">&quot;</span><span class="string">USA</span><span class="string">&quot;</span>.toCharArray())));
d.add(<span class="literal">new</span> Automobile(<span class="string">&quot;</span><span class="string">1</span><span class="string">&quot;</span>, <span class="literal">new</span> CountryOfOrigin(<span class="string">&quot;</span><span class="string">GERMANY</span><span class="string">&quot;</span>.toCharArray())));
System.<span class="ST6">out</span>.println(<span class="string">&quot;</span><span class="string">THE ORIGINAL DEALERSHIP</span><span class="literal">\n</span><span class="string">&quot;</span> + d);
Dealership.<span class="ST4">sortByVin</span>(d);
System.<span class="ST6">out</span>.println(<span class="string">&quot;</span><span class="literal">\n</span><span class="string">THE SORTED BY VIN DEALERSHIP</span><span class="literal">\n</span><span class="string">&quot;</span> + d);
}
}
</pre></body>
</html>

View File

@@ -0,0 +1,15 @@
<?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>com.calebfontenot</groupId>
<artifactId>Exam2-Practice1_CalebFontenot</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<exec.mainClass>com.calebfontenot.exam2.practice_calebfontenot.Exam2Practice_CalebFontenot</exec.mainClass>
</properties>
<name>Exam2-Practice1_CalebFontenot</name>
</project>

View File

@@ -0,0 +1,76 @@
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
*/
package com.calebfontenot.exam2.practice_calebfontenot;
import java.util.Objects;
/**
*
* @author caleb
*/
public class Automobile implements Comparable<Automobile> {
private String vin;
private CountryOfOrigin origin;
public Automobile(String vin, CountryOfOrigin origin)
{
this.vin = vin;
this.origin = origin;
}
public CountryOfOrigin getOrigin()
{
return origin;
}
public void setOrigin(CountryOfOrigin origin)
{
this.origin = origin;
}
public String getVin()
{
return vin;
}
public void setVin(String vin)
{
this.vin = vin;
}
@Override
public String toString()
{
return "Automobile{" + "vin=" + vin + ", origin=" + origin + '}';
}
@Override
public boolean equals(Object obj)
{
if (this == obj) {
return true;
}
if (obj == null) {
return false;
}
if (getClass() != obj.getClass()) {
return false;
}
final Automobile other = (Automobile) obj;
if (!Objects.equals(this.vin, other.vin)) {
return false;
}
return Objects.equals(this.origin, other.origin);
}
@Override
public int compareTo(Automobile o)
{
return vin.compareTo(o.vin);
}
}

View File

@@ -0,0 +1,102 @@
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
*/
package com.calebfontenot.exam2.practice_calebfontenot;
import java.util.Arrays;
/**
*
* @author caleb
*/
public class CountryOfOrigin implements Cloneable, Comparable<CountryOfOrigin> {
private char[] country = "USA".toCharArray();
public CountryOfOrigin() {}
public CountryOfOrigin(char[] country)
{
this.country = country;
}
public String getCountry()
{
return String.copyValueOf(this.country);
}
public void setCountry(char[] country)
{
this.country = country;
}
public boolean changeOneLetter(int index, char newLetter)
{
if (index >= this.country.length || index < 0) {
return false;
}
this.country[index] = newLetter;
return true;
}
@Override
public boolean equals(Object obj)
{
if (this == obj) {
return true;
}
if (obj == null) {
return false;
}
if (getClass() != obj.getClass()) {
return false;
}
final CountryOfOrigin other = (CountryOfOrigin) obj;
return Arrays.equals(this.country, other.country);
}
@Override
public String toString()
{
return String.copyValueOf(this.country);
}
@Override
public int compareTo(CountryOfOrigin o)
{
return String.copyValueOf(this.country).compareTo(String.copyValueOf(o.country));
}
@Override
public Object clone() {
return new CountryOfOrigin(new String(this.country).toCharArray());
}
public static void main(String[] args) throws CloneNotSupportedException
{
CountryOfOrigin c1 = new CountryOfOrigin();
CountryOfOrigin c2 = new CountryOfOrigin("GERMANY".toCharArray());
CountryOfOrigin c3 = (CountryOfOrigin) c2.clone();
System.out.println("c1 is: " + c1);
System.out.println("c2 is: " + c2);
System.out.println("c3 cloned of c2 is: " + c3);
c3.changeOneLetter(0, 'J');
c3.changeOneLetter(1, 'A');
c3.changeOneLetter(2, 'P');
System.out.println("c3 after changeOneLetter is: " + c3);
System.out.println("if this displays GERMANY and not JAPMANY\nyour clone is deep: " + c2);
System.out.println(c1.compareTo(c2));
System.out.println(c1.compareTo(c3));
System.out.println(c1.equals(c2));
System.out.println(c1.equals(c3));
System.out.println(c2.getCountry());
c2.setCountry("ITALY".toCharArray());
System.out.println(c2.getCountry());
System.out.println(c1.getCountry());
}
}

View File

@@ -0,0 +1,37 @@
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
*/
package com.calebfontenot.exam2.practice_calebfontenot;
import java.util.ArrayList;
import java.util.Arrays;
/**
*
* @author caleb
*/
public class Dealership extends ArrayList<Automobile> {
/** Sorts the inherited ArrayList of Automobiles
* into ascending order by vin number.
* @param d the Dealership of Automobiles
*/
public static void sortByVin(Dealership d) { //java.util.Collections.sort() could do all of this in a single line
Object[] dealershipArray = d.toArray();
Arrays.sort(dealershipArray);
d.clear();
for (int i = 0; i < dealershipArray.length; ++i) {
d.add((Automobile) dealershipArray[i]);
}
}
public static void main(String[] args)
{
Dealership d = new Dealership();
d.add(new Automobile("8", new CountryOfOrigin("USA".toCharArray())));
d.add(new Automobile("1", new CountryOfOrigin("GERMANY".toCharArray())));
System.out.println("THE ORIGINAL DEALERSHIP\n" + d);
Dealership.sortByVin(d);
System.out.println("\nTHE SORTED BY VIN DEALERSHIP\n" + d);
}
}

View File

@@ -0,0 +1,16 @@
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
*/
package com.calebfontenot.exam2.practice_calebfontenot;
/**
*
* @author caleb
*/
public class Exam2Practice_CalebFontenot {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}

View File

@@ -0,0 +1,125 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Automobile.java</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<style type="text/css">
<!--
body {color: #a9b7c6; background-color: #2b2b2b; font-family: monospace}
pre {color: #a9b7c6; background-color: #2b2b2b; font-family: monospace}
table {color: #888888; background-color: #313335; font-family: monospace}
.ST2 {color: #9876aa}
.ST3 {color: #ffc66d}
.number {color: #6897bb}
.string {color: #6a8759}
.comment {color: #808080}
.whitespace {color: #505050}
.ST5 {color: #ffc66d; font-family: monospace; font-style: italic}
.ST6 {color: #9876aa; font-family: monospace; font-style: italic}
.ST1 {color: #808080; font-family: monospace; font-weight: bold}
.ST0 {color: #287bde}
.literal {color: #cc7832}
.ST4 {font-family: monospace; font-style: italic}
-->
</style>
</head>
<body>
<table width="100%"><tr><td align="center">/home/caleb/ASDV-Java/Semester 2/Assignments/Exam2-Practice2_CalebFontenot/src/main/java/com/calebfontenot/exam2/practice2_calebfontenot/Automobile.java</td></tr></table>
<pre>
<span class="comment">/*</span>
<span class="comment"> * Click </span><span class="ST0">nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt</span><span class="comment"> to change this license</span>
<span class="comment"> * Click </span><span class="ST0">nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java</span><span class="comment"> to edit this template</span>
<span class="comment"> */</span>
<span class="literal">package</span> com.calebfontenot.exam2.practice2_calebfontenot;
<span class="literal">import</span> java.util.Objects;
<span class="comment">/**</span>
<span class="comment"> *</span>
<span class="comment"> * </span><span class="ST1">@author</span> <span class="comment">caleb</span>
<span class="comment">*/</span>
<span class="literal">public</span> <span class="literal">class</span> Automobile <span class="literal">extends</span> Vehicle <span class="literal">implements</span> Cloneable{
<span class="literal">private</span> String <span class="ST2">make</span>;
<span class="literal">public</span> Automobile(String make)
{
<span class="literal">this</span>.<span class="ST2">make</span> = make;
}
<span class="literal">public</span> Automobile(String make, String vin)
{
<span class="literal">super</span>(vin);
<span class="literal">this</span>.<span class="ST2">make</span> = make;
}
<span class="literal">public</span> String <span class="ST3">getMake</span>() { <span class="literal">return</span> <span class="ST2">make</span>; }
<span class="literal">public</span> <span class="literal">void</span> <span class="ST3">setMake</span>(String make) { <span class="literal">this</span>.<span class="ST2">make</span> = make; }
@Override
<span class="literal">public</span> <span class="literal">int</span> <span class="ST3">compareTo</span>(Vehicle o)
{
<span class="literal">return</span> <span class="literal">this</span>.getVin().compareTo(o.getVin());
}
@Override
<span class="literal">public</span> <span class="literal">boolean</span> <span class="ST3">equals</span>(Object obj)
{
<span class="literal">if</span> (<span class="literal">this</span> == obj) {
<span class="literal">return</span> <span class="literal">true</span>;
}
<span class="literal">if</span> (obj == <span class="literal">null</span>) {
<span class="literal">return</span> <span class="literal">false</span>;
}
<span class="literal">if</span> (getClass() != obj.getClass()) {
<span class="literal">return</span> <span class="literal">false</span>;
}
<span class="literal">final</span> Automobile other = (Automobile) obj;
<span class="literal">boolean</span> isSameObjectType = Objects.<span class="ST4">equals</span>(<span class="literal">t</span><span class="literal">his</span>.<span class="ST2">make</span>, other.<span class="ST2">make</span>);
<span class="literal">if</span> (isSameObjectType) {
<span class="literal">if</span> (<span class="literal">this</span>.<span class="ST2">make</span>.compareTo(other.<span class="ST2">make</span>) == <span class="number">0</span> &amp;&amp; (<span class="literal">this</span>.getVin().compareTo(other.getVin()) == <span class="number">0</span>)) {
<span class="literal">return</span> <span class="literal">true</span>;
} <span class="literal">else</span> {
<span class="literal">return</span> <span class="literal">false</span>;
}
} <span class="literal">else</span> {
<span class="literal">return</span> <span class="literal">false</span>;
}
}
@Override
<span class="literal">protected</span> Object <span class="ST3">clone</span>() <span class="literal">throws</span> CloneNotSupportedException {
String make = <span class="literal">new</span> String(<span class="literal">t</span><span class="literal">his</span>.getMake());
String vim = <span class="literal">new</span> String(<span class="literal">t</span><span class="literal">his</span>.getVin());
Automobile clonedAuto = <span class="literal">new</span> Automobile(make, vim);
<span class="literal">return</span> clonedAuto;
}
@Override
<span class="literal">public</span> String <span class="ST3">toString</span>()
{
<span class="literal">return</span> <span class="literal">super</span>.toString() + <span class="string">&quot;</span><span class="literal">\n</span><span class="string">&quot;</span> + <span class="string">&quot;</span><span class="string">Automobile{</span><span class="string">&quot;</span> + <span class="string">&quot;</span><span class="string">make=</span><span class="string">&quot;</span> + <span class="ST2">make</span> + <span class="string">&#39;</span><span class="string">}</span><span class="string">&#39;</span>;
}
<span class="literal">public</span> <span class="literal">static</span> <span class="literal">void</span> <span class="ST5">main</span>(String[] args) <span class="literal">throws</span> CloneNotSupportedException
{
Automobile johnsBeemer = <span class="literal">new</span> Automobile (<span class="string">&quot;</span><span class="string">BMW</span><span class="string">&quot;</span>, <span class="string">&quot;</span><span class="string">vin1BMW</span><span class="string">&quot;</span>);
Automobile marysBeemer = <span class="literal">new</span> Automobile (<span class="string">&quot;</span><span class="string">BMW</span><span class="string">&quot;</span>, <span class="string">&quot;</span><span class="string">vin2BMW</span><span class="string">&quot;</span>);
Automobile johnsClonedBeemer = (Automobile) johnsBeemer.clone();
System.<span class="ST6">out</span>.println(johnsBeemer + <span class="string">&quot;</span><span class="literal">\n</span><span class="string">&quot;</span>);
System.<span class="ST6">out</span>.println(marysBeemer + <span class="string">&quot;</span><span class="literal">\n</span><span class="string">&quot;</span>);
System.<span class="ST6">out</span>.println(johnsClonedBeemer + <span class="string">&quot;</span><span class="literal">\n</span><span class="string">&quot;</span>);
System.<span class="ST6">out</span>.println(<span class="string">&quot;</span><span class="string">John</span><span class="literal">\&#39;</span><span class="string">s beemer EQUALS Mary</span><span class="literal">\&#39;</span><span class="string">s beemer --&gt; </span><span class="string">&quot;</span> + johnsBeemer.equals(marysBeemer));
System.<span class="ST6">out</span>.println(<span class="string">&quot;</span><span class="string">John</span><span class="literal">\&#39;</span><span class="string">s beemer EQUALS John</span><span class="literal">\&#39;</span><span class="string">s beemer --&gt; </span><span class="string">&quot;</span> + johnsBeemer.equals(johnsClonedBeemer));
System.<span class="ST6">out</span>.println(<span class="string">&quot;</span><span class="string">John</span><span class="literal">\&#39;</span><span class="string">s beemer COMPARE_TO John</span><span class="literal">\&#39;</span><span class="string">s cloned beemer --&gt; </span><span class="string">&quot;</span> + johnsBeemer.compareTo(johnsClonedBeemer));
System.<span class="ST6">out</span>.println(<span class="string">&quot;</span><span class="string">John</span><span class="literal">\&#39;</span><span class="string">s beemer COMPARE_TO Mary</span><span class="literal">\&#39;</span><span class="string">s beemer --&gt; </span><span class="string">&quot;</span> +johnsBeemer.compareTo(marysBeemer));
System.<span class="ST6">out</span>.println(<span class="string">&quot;</span><span class="string">John</span><span class="literal">\&#39;</span><span class="string">s beemer EQUALS Airplane --&gt; </span><span class="string">&quot;</span> + johnsBeemer.equals(<span class="literal">new</span> Airplane()));
}
}
<span class="literal">class</span> Airplane {}
</pre></body>
</html>

View File

@@ -0,0 +1,69 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Vehicle.java</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<style type="text/css">
<!--
body {color: #a9b7c6; background-color: #2b2b2b; font-family: monospace}
pre {color: #a9b7c6; background-color: #2b2b2b; font-family: monospace}
table {color: #888888; background-color: #313335; font-family: monospace}
.ST2 {color: #9876aa}
.ST3 {color: #ffc66d}
.string {color: #6a8759}
.comment {color: #808080}
.whitespace {color: #505050}
.ST1 {color: #808080; font-family: monospace; font-weight: bold}
.ST0 {color: #287bde}
.literal {color: #cc7832}
.ST4 {font-family: monospace; font-style: italic}
-->
</style>
</head>
<body>
<table width="100%"><tr><td align="center">/home/caleb/ASDV-Java/Semester 2/Assignments/Exam2-Practice2_CalebFontenot/src/main/java/com/calebfontenot/exam2/practice2_calebfontenot/Vehicle.java</td></tr></table>
<pre>
<span class="comment">/*</span>
<span class="comment"> * Click </span><span class="ST0">nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt</span><span class="comment"> to change this license</span>
<span class="comment"> * Click </span><span class="ST0">nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java</span><span class="comment"> to edit this template</span>
<span class="comment"> */</span>
<span class="literal">package</span> com.calebfontenot.exam2.practice2_calebfontenot;
<span class="literal">import</span> java.util.Objects;
<span class="comment">/**</span>
<span class="comment"> *</span>
<span class="comment"> * </span><span class="ST1">@author</span> <span class="comment">caleb</span>
<span class="comment">*/</span>
<span class="literal">abstract</span> <span class="literal">public</span> <span class="literal">class</span> Vehicle <span class="literal">implements</span> Cloneable, Comparable&lt;Vehicle&gt; {
<span class="literal">private</span> String <span class="ST2">vin</span>;
<span class="literal">public</span> Vehicle(){}
<span class="literal">public</span> Vehicle(String vin) {<span class="literal">this</span>.<span class="ST2">vin</span> = vin;}
<span class="literal">public</span> String <span class="ST3">getVin</span>() { <span class="literal">return</span> <span class="ST2">vin</span>; }
<span class="literal">public</span> <span class="literal">void</span> <span class="ST3">setVin</span>(String vin) { <span class="literal">this</span>.<span class="ST2">vin</span> = vin; }
@Override
<span class="literal">public</span> String <span class="ST3">toString</span>()
{ <span class="literal">return</span> <span class="string">&quot;</span><span class="string">Vehicle{</span><span class="string">&quot;</span> + <span class="string">&quot;</span><span class="string">vin=</span><span class="string">&quot;</span> + <span class="ST2">vin</span> + <span class="string">&#39;</span><span class="string">}</span><span class="string">&#39;</span>; }
@Override
<span class="literal">public</span> <span class="literal">boolean</span> <span class="ST3">equals</span>(Object obj)
{
<span class="literal">if</span> (<span class="literal">this</span> == obj) {
<span class="literal">return</span> <span class="literal">true</span>;
}
<span class="literal">if</span> (obj == <span class="literal">null</span>) {
<span class="literal">return</span> <span class="literal">false</span>;
}
<span class="literal">if</span> (getClass() != obj.getClass()) {
<span class="literal">return</span> <span class="literal">false</span>;
}
<span class="literal">final</span> Vehicle other = (Vehicle) obj;
<span class="literal">return</span> Objects.<span class="ST4">equals</span>(<span class="literal">t</span><span class="literal">his</span>.<span class="ST2">vin</span>, other.<span class="ST2">vin</span>);
}
}
</pre></body>
</html>

View File

@@ -0,0 +1,14 @@
<?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>com.calebfontenot</groupId>
<artifactId>Exam2-Practice2_CalebFontenot</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<exec.mainClass>com.calebfontenot.exam2.practice2_calebfontenot.Exam2Practice2_CalebFontenot</exec.mainClass>
</properties>
</project>

View File

@@ -0,0 +1,94 @@
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
*/
package com.calebfontenot.exam2.practice2_calebfontenot;
import java.util.Objects;
/**
*
* @author caleb
*/
public class Automobile extends Vehicle implements Cloneable{
private String make;
public Automobile(String make)
{
this.make = make;
}
public Automobile(String make, String vin)
{
super(vin);
this.make = make;
}
public String getMake() { return make; }
public void setMake(String make) { this.make = make; }
@Override
public int compareTo(Vehicle o)
{
return this.getVin().compareTo(o.getVin());
}
@Override
public boolean equals(Object obj)
{
if (this == obj) {
return true;
}
if (obj == null) {
return false;
}
if (getClass() != obj.getClass()) {
return false;
}
final Automobile other = (Automobile) obj;
boolean isSameObjectType = Objects.equals(this.make, other.make);
if (isSameObjectType) {
if (this.make.compareTo(other.make) == 0 && (this.getVin().compareTo(other.getVin()) == 0)) {
return true;
} else {
return false;
}
} else {
return false;
}
}
@Override
protected Object clone() throws CloneNotSupportedException {
String make = new String(this.getMake());
String vim = new String(this.getVin());
Automobile clonedAuto = new Automobile(make, vim);
return clonedAuto;
}
@Override
public String toString()
{
return super.toString() + "\n" + "Automobile{" + "make=" + make + '}';
}
public static void main(String[] args) throws CloneNotSupportedException
{
Automobile johnsBeemer = new Automobile ("BMW", "vin1BMW");
Automobile marysBeemer = new Automobile ("BMW", "vin2BMW");
Automobile johnsClonedBeemer = (Automobile) johnsBeemer.clone();
System.out.println(johnsBeemer + "\n");
System.out.println(marysBeemer + "\n");
System.out.println(johnsClonedBeemer + "\n");
System.out.println("John\'s beemer EQUALS Mary\'s beemer --> " + johnsBeemer.equals(marysBeemer));
System.out.println("John\'s beemer EQUALS John\'s beemer --> " + johnsBeemer.equals(johnsClonedBeemer));
System.out.println("John\'s beemer COMPARE_TO John\'s cloned beemer --> " + johnsBeemer.compareTo(johnsClonedBeemer));
System.out.println("John\'s beemer COMPARE_TO Mary\'s beemer --> " +johnsBeemer.compareTo(marysBeemer));
System.out.println("John\'s beemer EQUALS Airplane --> " + johnsBeemer.equals(new Airplane()));
}
}
class Airplane {}

View File

@@ -0,0 +1,16 @@
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
*/
package com.calebfontenot.exam2.practice2_calebfontenot;
/**
*
* @author caleb
*/
public class Exam2Practice2_CalebFontenot {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}

View File

@@ -0,0 +1,121 @@
package com.calebfontenot.exam2.practice2_calebfontenot;
import java.util.Objects;
/**
*
* @author caleb
*/
public class Automobile extends Vehicle implements Cloneable{
private String make;
public Automobile(String make)
{
this.make = make;
}
public Automobile(String make, String vin)
{
super(vin);
this.make = make;
}
public String getMake() { return make; }
public void setMake(String make) { this.make = make; }
@Override
public int compareTo(Vehicle o)
{
return this.getVin().compareTo(o.getVin());
}
@Override
public boolean equals(Object obj)
{
if (this == obj) {
return true;
}
if (obj == null) {
return false;
}
if (getClass() != obj.getClass()) {
return false;
}
final Automobile other = (Automobile) obj;
boolean isSameObjectType = Objects.equals(this.make, other.make);
if (isSameObjectType) {
if (this.make.compareTo(other.make) == 0 && (this.getVin().compareTo(other.getVin()) == 0)) {
return true;
} else {
return false;
}
} else {
return false;
}
}
@Override
protected Object clone() throws CloneNotSupportedException {
String make = new String(this.getMake());
String vim = new String(this.getVin());
Automobile clonedAuto = new Automobile(make, vim);
return clonedAuto;
}
@Override
public String toString()
{
return super.toString() + "\n" + "Automobile{" + "make=" + make + '}';
}
public static void main(String[] args) throws CloneNotSupportedException
{
Automobile johnsBeemer = new Automobile ("BMW", "vin1BMW");
Automobile marysBeemer = new Automobile ("BMW", "vin2BMW");
Automobile johnsClonedBeemer = (Automobile) johnsBeemer.clone();
System.out.println(johnsBeemer + "\n");
System.out.println(marysBeemer + "\n");
System.out.println(johnsClonedBeemer + "\n");
System.out.println("John\'s beemer EQUALS Mary\'s beemer --> " + johnsBeemer.equals(marysBeemer));
System.out.println("John\'s beemer EQUALS John\'s beemer --> " + johnsBeemer.equals(johnsClonedBeemer));
System.out.println("John\'s beemer COMPARE_TO John\'s cloned beemer --> " + johnsBeemer.compareTo(johnsClonedBeemer));
System.out.println("John\'s beemer COMPARE_TO Mary\'s beemer --> " +johnsBeemer.compareTo(marysBeemer));
System.out.println("John\'s beemer EQUALS Airplane --> " + johnsBeemer.equals(new Airplane()));
}
}
abstract public class Vehicle implements Cloneable, Comparable<Vehicle> {
private String vin;
public Vehicle(){}
public Vehicle(String vin) {this.vin = vin;}
public String getVin() { return vin; }
public void setVin(String vin) { this.vin = vin; }
@Override
public String toString()
{ return "Vehicle{" + "vin=" + vin + '}'; }
@Override
public boolean equals(Object obj)
{
if (this == obj) {
return true;
}
if (obj == null) {
return false;
}
if (getClass() != obj.getClass()) {
return false;
}
final Vehicle other = (Vehicle) obj;
return Objects.equals(this.vin, other.vin);
}
}
class Airplane {}

View File

@@ -0,0 +1,41 @@
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
*/
package com.calebfontenot.exam2.practice2_calebfontenot;
import java.util.Objects;
/**
*
* @author caleb
*/
abstract public class Vehicle implements Cloneable, Comparable<Vehicle> {
private String vin;
public Vehicle(){}
public Vehicle(String vin) {this.vin = vin;}
public String getVin() { return vin; }
public void setVin(String vin) { this.vin = vin; }
@Override
public String toString()
{ return "Vehicle{" + "vin=" + vin + '}'; }
@Override
public boolean equals(Object obj)
{
if (this == obj) {
return true;
}
if (obj == null) {
return false;
}
if (getClass() != obj.getClass()) {
return false;
}
final Vehicle other = (Vehicle) obj;
return Objects.equals(this.vin, other.vin);
}
}

View File

@@ -0,0 +1,4 @@
com/calebfontenot/exam2/practice2_calebfontenot/Automobile.class
com/calebfontenot/exam2/practice2_calebfontenot/Exam2Practice2_CalebFontenot.class
com/calebfontenot/exam2/practice2_calebfontenot/Airplane.class
com/calebfontenot/exam2/practice2_calebfontenot/Vehicle.class

View File

@@ -0,0 +1,3 @@
/home/caleb/ASDV-Java/Semester 2/Assignments/Exam2-Practice2_CalebFontenot/src/main/java/com/calebfontenot/exam2/practice2_calebfontenot/Exam2Practice2_CalebFontenot.java
/home/caleb/ASDV-Java/Semester 2/Assignments/Exam2-Practice2_CalebFontenot/src/main/java/com/calebfontenot/exam2/practice2_calebfontenot/Vehicle.java
/home/caleb/ASDV-Java/Semester 2/Assignments/Exam2-Practice2_CalebFontenot/src/main/java/com/calebfontenot/exam2/practice2_calebfontenot/Automobile.java