From c06148228b591dea9b3b4b71adf168e399783730 Mon Sep 17 00:00:00 2001 From: Caleb Fontenot Date: Thu, 27 Apr 2023 12:50:36 -0500 Subject: [PATCH] stuff --- .../Printed HTMLs/Circle.html | 81 +++++++ .../Printed HTMLs/Combinations.html | 177 +++++++++++++++ .../MP5_CalebFontenot/Printed HTMLs/FD.html | 124 +++++++++++ .../Printed HTMLs/GeometricObject.html | 122 +++++++++++ .../Printed HTMLs/Large.html | 72 +++++++ .../Printed HTMLs/MP5_CalebFontenot.html | 39 ++++ .../Printed HTMLs/MyStack.html | 91 ++++++++ .../Printed HTMLs/NormalizeDatabase.html | 203 ++++++++++++++++++ .../Printed HTMLs/PrintCalendar.html | 188 ++++++++++++++++ .../Printed HTMLs/Rectangle.html | 95 ++++++++ .../Printed HTMLs/ShuffleArrayList.html | 101 +++++++++ .../Printed HTMLs/SortArrayList.html | 74 +++++++ .../Printed HTMLs/TestCircle.html | 43 ++++ .../Printed HTMLs/TestGeometricObject.html | 60 ++++++ .../mp5_calebfontenot/Circle.java | 55 +++++ .../mp5_calebfontenot/GeometricObject.java | 95 ++++++++ .../mp5_calebfontenot/MyStack.java | 62 ++++++ .../mp5_calebfontenot/NormalizeDatabase.java | 54 +++-- .../mp5_calebfontenot/PrintCalendar.java | 160 ++++++++++++++ .../mp5_calebfontenot/Rectangle.java | 67 ++++++ .../TestGeometricObject.java | 32 +++ Semester 2/ZIPs/MP5_CalebFontenot.zip | Bin 0 -> 153931 bytes 22 files changed, 1973 insertions(+), 22 deletions(-) create mode 100644 Semester 2/Assignments/MP5_CalebFontenot/Printed HTMLs/Circle.html create mode 100644 Semester 2/Assignments/MP5_CalebFontenot/Printed HTMLs/Combinations.html create mode 100644 Semester 2/Assignments/MP5_CalebFontenot/Printed HTMLs/FD.html create mode 100644 Semester 2/Assignments/MP5_CalebFontenot/Printed HTMLs/GeometricObject.html create mode 100644 Semester 2/Assignments/MP5_CalebFontenot/Printed HTMLs/Large.html create mode 100644 Semester 2/Assignments/MP5_CalebFontenot/Printed HTMLs/MP5_CalebFontenot.html create mode 100644 Semester 2/Assignments/MP5_CalebFontenot/Printed HTMLs/MyStack.html create mode 100644 Semester 2/Assignments/MP5_CalebFontenot/Printed HTMLs/NormalizeDatabase.html create mode 100644 Semester 2/Assignments/MP5_CalebFontenot/Printed HTMLs/PrintCalendar.html create mode 100644 Semester 2/Assignments/MP5_CalebFontenot/Printed HTMLs/Rectangle.html create mode 100644 Semester 2/Assignments/MP5_CalebFontenot/Printed HTMLs/ShuffleArrayList.html create mode 100644 Semester 2/Assignments/MP5_CalebFontenot/Printed HTMLs/SortArrayList.html create mode 100644 Semester 2/Assignments/MP5_CalebFontenot/Printed HTMLs/TestCircle.html create mode 100644 Semester 2/Assignments/MP5_CalebFontenot/Printed HTMLs/TestGeometricObject.html create mode 100644 Semester 2/Assignments/MP5_CalebFontenot/src/main/java/com/calebfontenot/mp5_calebfontenot/Circle.java create mode 100644 Semester 2/Assignments/MP5_CalebFontenot/src/main/java/com/calebfontenot/mp5_calebfontenot/GeometricObject.java create mode 100644 Semester 2/Assignments/MP5_CalebFontenot/src/main/java/com/calebfontenot/mp5_calebfontenot/MyStack.java create mode 100644 Semester 2/Assignments/MP5_CalebFontenot/src/main/java/com/calebfontenot/mp5_calebfontenot/PrintCalendar.java create mode 100644 Semester 2/Assignments/MP5_CalebFontenot/src/main/java/com/calebfontenot/mp5_calebfontenot/Rectangle.java create mode 100644 Semester 2/Assignments/MP5_CalebFontenot/src/main/java/com/calebfontenot/mp5_calebfontenot/TestGeometricObject.java create mode 100644 Semester 2/ZIPs/MP5_CalebFontenot.zip diff --git a/Semester 2/Assignments/MP5_CalebFontenot/Printed HTMLs/Circle.html b/Semester 2/Assignments/MP5_CalebFontenot/Printed HTMLs/Circle.html new file mode 100644 index 0000000..23b301e --- /dev/null +++ b/Semester 2/Assignments/MP5_CalebFontenot/Printed HTMLs/Circle.html @@ -0,0 +1,81 @@ + + + +Circle.java + + + + +
/home/caleb/ASDV-Java/Semester 2/Assignments/MP5_CalebFontenot/src/main/java/com/calebfontenot/mp5_calebfontenot/Circle.java
+
+/*
+ * 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.mp5_calebfontenot;
+
+/**
+ *
+ * @author caleb
+ */
+public class Circle extends GeometricObject {
+    private double diameter;
+
+    public Circle(double diameter) {
+        this.diameter = diameter;
+        System.out.println("Circle Diameter: " + diameter);
+    }
+    
+    @Override
+    public double getArea() {
+        double radius = diameter / 2;
+        return Math.PI * Math.pow(radius, 2);
+    }
+    
+    @Override
+    public double getPerimeter() {
+        return Math.PI * diameter;
+    }
+
+    @Override
+    public String toString() {
+        return "Circle{" + "diameter=" + diameter + '}';
+    }
+    
+    @Override
+    public int compareTo(Object t) {
+        System.out.println(this.getArea() + ", " + ((Circle) t).getArea());
+        if (this.getArea() < ((Circle) t).getArea()) {
+            return -1;
+        } else if (this.getArea() > ((Circle) t).getArea()) {
+            return 1;
+        } else {
+            return 0;
+        }
+    }
+// The compiler made me implement this, not sure why
+    @Override
+    public int compareTo() {
+        throw new UnsupportedOperationException("No compare object supplied!");
+    }
+  
+}
+
+
+ diff --git a/Semester 2/Assignments/MP5_CalebFontenot/Printed HTMLs/Combinations.html b/Semester 2/Assignments/MP5_CalebFontenot/Printed HTMLs/Combinations.html new file mode 100644 index 0000000..9c4053f --- /dev/null +++ b/Semester 2/Assignments/MP5_CalebFontenot/Printed HTMLs/Combinations.html @@ -0,0 +1,177 @@ + + + +Combinations.java + + + + +
/home/caleb/ASDV-Java/Semester 2/Assignments/MP5_CalebFontenot/src/main/java/com/calebfontenot/mp5_calebfontenot/Combinations.java
+
+/*
+ * 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.mp5_calebfontenot;
+
+/**
+ *
+ * @author caleb
+ */
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Set;
+
+class Combinations
+{
+
+    private static void findCombinations(String[] A, int i, int k,
+            Set<List<String>> subarrays,
+            List<String> out)
+    {
+        if (A.length == 0 || k > A.length)
+        {
+            return;
+        }
+
+        // base case: combination size is `k`
+        if (k == 0)
+        {
+            subarrays.add(new ArrayList<>(out));
+            return;
+        }
+
+        // start from the next index till the last index
+        for (int j = i; j < A.length; j++)
+        {
+            // add current element `A[j]` to the solution and recur for next index
+            // `j+1` with one less element `k-1`
+            out.add(A[j]);
+            findCombinations(A, j + 1, k - 1, subarrays, out);
+            out.remove(out.size() - 1);         // backtrack
+        }
+    }
+
+    private static Set<List<String>> findCombinations(String[] A, int k)
+    {
+        Set<List<String>> subarrays = new HashSet<>();
+        findCombinations(A, 0, k, subarrays, new ArrayList<>());
+        return subarrays;
+    }
+
+    private static Set<List<String>> findAllCombinations(String[] A)
+    {
+        Set<List<String>> subarrays = new HashSet<>();
+        for (int k = 1; k <= A.length; ++k)
+        {
+            findCombinations(A, 0, k, subarrays, new ArrayList<>());
+        }
+        return subarrays;
+    }
+/** Finds all distinct combinations of all sizes for elements of array.
+ * 
+ * @param A the elements to find their combinations
+ * @return all distinct combinations of the elements, sorted by length. ascending order.
+ */
+    public static ArrayList<String> allCombinations(String[] A)
+    {
+        Set<List<String>> set = findAllCombinations(A);
+        ArrayList<String> all = new ArrayList<String>();
+        Iterator it = set.iterator();
+        while (it.hasNext())
+        {
+            List<String> list = (List<String>) it.next();
+            String s1 = "";
+            for (String s2 : list)
+            {
+                s1 += s2;
+            }
+            all.add(s1);
+        }
+                Collections.sort(all, new Comparator<String>(){
+            @Override
+            public int compare(String o1, String o2)
+            {
+                return o1.length() - o2.length();
+            }
+        });
+        return all;
+    }
+/** Finds all distinct combinations of all sizes for chars of the String.
+ * 
+ * @param A the characters to find their combinations.
+ * @return all distinct combinations of the characters sorted by length, ascending order.
+ */
+    public static ArrayList<String> allCombinations(String a)
+    {
+        String[] A = new String[a.length()];
+        for (int i = 0; i < A.length; ++i)
+        {
+            A[i] = Character.toString(a.charAt(i));
+        }
+        Set<List<String>> set = findAllCombinations(A);
+        ArrayList<String> all = new ArrayList<String>();
+        Iterator it = set.iterator();
+        while (it.hasNext())
+        {
+            List<String> list = (List<String>) it.next();
+            String s1 = "";
+            for (String s2 : list)
+            {
+                s1 += s2;
+            }
+            all.add(s1);
+        }
+        
+        Collections.sort(all, new Comparator<String>(){
+            @Override
+            public int compare(String o1, String o2)
+            {
+                return o1.length() - o2.length();
+            }
+        });
+        return all;
+    }
+
+    public static void main(String[] args)
+    {
+        String[] A =
+        {
+            "1", "2", "3", "4"
+        };
+        int k = 2;
+
+        // process elements from left to right
+        System.out.println(allCombinations(A));
+        System.out.println(allCombinations("1234"));
+
+    }
+}
+
+
+
+ diff --git a/Semester 2/Assignments/MP5_CalebFontenot/Printed HTMLs/FD.html b/Semester 2/Assignments/MP5_CalebFontenot/Printed HTMLs/FD.html new file mode 100644 index 0000000..fffd7fb --- /dev/null +++ b/Semester 2/Assignments/MP5_CalebFontenot/Printed HTMLs/FD.html @@ -0,0 +1,124 @@ + + + +FD.java + + + + +
/home/caleb/ASDV-Java/Semester 2/Assignments/MP5_CalebFontenot/src/main/java/com/calebfontenot/mp5_calebfontenot/FD.java
+
+package com.calebfontenot.mp5_calebfontenot;
+
+
+/**
+ *
+ * @author ASDV2
+ */
+public class FD
+{
+
+    private String lhs;
+
+    private String rhs;
+
+    /**
+     *
+     * @param lhs the LHS of the FD
+     * @param rhs the RHS of the FD
+     * @throws IllegalArgumentException if the length of the LHS or the length
+     * of the RHS are less than 1 or if they are null.
+     */
+    public FD(String lhs, String rhs)
+            throws IllegalArgumentException
+    {
+        if (lhs == null || rhs == null )
+            throw new IllegalArgumentException( "the LHS and/or RHS cannot be null.");
+        
+        if (lhs.length() < 1 || rhs.length() < 1 )
+            throw new IllegalArgumentException( "the LHS and/or RHS cannot be of lenght less than 1.");
+        
+        this.lhs = lhs;
+        this.rhs = rhs;
+    }
+
+    /**
+     * Get the value of rhs
+     *
+     * @return the value of rhs
+     */
+    public String getRhs()
+    {
+        return rhs;
+    }
+
+    /**
+     * Set the value of rhs
+     *
+     * @param rhs new value of rhs
+     */
+    public void setRhs(String rhs)
+    {
+        this.rhs = rhs;
+    }
+
+    /**
+     * Get the value of lhs
+     *
+     * @return the value of lhs
+     */
+    public String getLhs()
+    {
+        return lhs;
+    }
+
+    /**
+     * Set the value of lhs
+     *
+     * @param lhs new value of lhs
+     */
+    public void setLhs(String lhs)
+    {
+        this.lhs = lhs;
+    }
+
+    @Override
+    public String toString()
+    {
+        return lhs + " -> " + rhs;
+    }
+
+    /**
+     * Decomposes the RHS of the FD into singletons. where the LHS is the same
+     * as this FD and the RHS is 1 character of each character of the FD.
+     *
+     * @return array of FD he
+     */
+    public FD[] decomposeRightHandSide()
+    {
+        FD[] fdDecomosition = new FD[this.rhs.length()];
+
+        for (int i = 0; i < this.rhs.length(); ++i)
+          {
+            fdDecomosition[i] = new FD(this.lhs, Character.toString(rhs.charAt(i)));
+          }
+        return fdDecomosition;
+    }
+}
+
+ diff --git a/Semester 2/Assignments/MP5_CalebFontenot/Printed HTMLs/GeometricObject.html b/Semester 2/Assignments/MP5_CalebFontenot/Printed HTMLs/GeometricObject.html new file mode 100644 index 0000000..f1a9e9b --- /dev/null +++ b/Semester 2/Assignments/MP5_CalebFontenot/Printed HTMLs/GeometricObject.html @@ -0,0 +1,122 @@ + + + +GeometricObject.java + + + + +
/home/caleb/ASDV-Java/Semester 2/Assignments/MP5_CalebFontenot/src/main/java/com/calebfontenot/mp5_calebfontenot/GeometricObject.java
+
+/*
+ * 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.mp5_calebfontenot;
+
+/**
+ *
+ * @author caleb
+ */
+public abstract class GeometricObject implements Comparable {
+
+    private String color = "white";
+    private boolean filled;
+    private java.util.Date dateCreated;
+
+    /**
+     * Construct a default geometric object
+     */
+    protected GeometricObject() {
+        dateCreated = new java.util.Date();
+    }
+
+    /**
+     * Construct a geometric object with color and filled value
+     */
+    protected GeometricObject(String color, boolean filled) {
+        dateCreated = new java.util.Date();
+        this.color = color;
+        this.filled = filled;
+    }
+
+    /**
+     * Return color
+     */
+    public String getColor() {
+        return color;
+    }
+
+    /**
+     * Set a new color
+     */
+    public void setColor(String color) {
+        this.color = color;
+    }
+
+    /**
+     * Return filled. Since filled is boolean, the get method is named isFilled
+     */
+    public boolean isFilled() {
+        return filled;
+    }
+
+    /**
+     * Set a new filled
+     */
+    public void setFilled(boolean filled) {
+        this.filled = filled;
+    }
+
+    /**
+     * Get dateCreated
+     */
+    public java.util.Date getDateCreated() {
+        return dateCreated;
+    }
+
+    @Override
+    public String toString() {
+        return "created on " + dateCreated + "\ncolor: " + color
+                + " and filled: " + filled;
+    }
+
+    /**
+     * Abstract method getArea
+     */
+    public abstract double getArea();
+
+    /**
+     * Abstract method getPerimeter
+     */
+    public abstract double getPerimeter();
+
+    // Additional code below
+    public abstract int compareTo(GeometricObject t);
+
+    public static GeometricObject max(GeometricObject o1, GeometricObject o2) {
+        if (o1.getArea() >= o2.getArea()) {
+            return o1;
+        } else {
+            return o2;
+        }
+    }
+}
+
+
+
+ diff --git a/Semester 2/Assignments/MP5_CalebFontenot/Printed HTMLs/Large.html b/Semester 2/Assignments/MP5_CalebFontenot/Printed HTMLs/Large.html new file mode 100644 index 0000000..0971b4a --- /dev/null +++ b/Semester 2/Assignments/MP5_CalebFontenot/Printed HTMLs/Large.html @@ -0,0 +1,72 @@ + + + +Large.java + + + + +
/home/caleb/ASDV-Java/Semester 2/Assignments/MP5_CalebFontenot/src/main/java/com/calebfontenot/mp5_calebfontenot/Large.java
+
+/*
+ * 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.mp5_calebfontenot;
+
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.util.ArrayList;
+import java.util.Scanner;
+
+/**
+ *
+ * @author caleb
+ */
+public class Large {
+    public static void main(String[] args) {
+        // Read data file
+        // ArrayLists
+        ArrayList firstNameArr = new ArrayList();
+        ArrayList lastNameArr = new ArrayList();
+        ArrayList jobTitleArr = new ArrayList();
+        ArrayList salaryArr = new ArrayList();
+        
+        File file = new File("Salary.txt");
+        try (Scanner fileScanner = new Scanner(file)) {
+            while (fileScanner.hasNext()) {
+                firstNameArr.add(fileScanner.next());
+                lastNameArr.add(fileScanner.next());
+                jobTitleArr.add(fileScanner.next());
+                salaryArr.add(fileScanner.next());
+                fileScanner.nextLine(); // consume newline
+            }
+        } catch (Exception ex) {
+            System.out.println("Unable to read file");
+        }
+        for (int i = 0; i < firstNameArr.size(); ++i) {
+            System.out.println("first name :" + firstNameArr.get(i));
+            System.out.println("last name: " + lastNameArr.get(i));
+            System.out.println("job title: " + jobTitleArr.get(i));
+            System.out.println("salary: " + salaryArr.get(i));
+            System.out.println("--------------------------------------");
+        }
+    }
+}
+
+
+ diff --git a/Semester 2/Assignments/MP5_CalebFontenot/Printed HTMLs/MP5_CalebFontenot.html b/Semester 2/Assignments/MP5_CalebFontenot/Printed HTMLs/MP5_CalebFontenot.html new file mode 100644 index 0000000..7f93c24 --- /dev/null +++ b/Semester 2/Assignments/MP5_CalebFontenot/Printed HTMLs/MP5_CalebFontenot.html @@ -0,0 +1,39 @@ + + + +MP5_CalebFontenot.java + + + + +
/home/caleb/ASDV-Java/Semester 2/Assignments/MP5_CalebFontenot/src/main/java/com/calebfontenot/mp5_calebfontenot/MP5_CalebFontenot.java
+
+/*
+ * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
+ */
+
+package com.calebfontenot.mp5_calebfontenot;
+
+/**
+ *
+ * @author caleb
+ */
+public class MP5_CalebFontenot {
+
+    public static void main(String[] args) {
+        System.out.println("Hello World!");
+    }
+}
+
+
+ diff --git a/Semester 2/Assignments/MP5_CalebFontenot/Printed HTMLs/MyStack.html b/Semester 2/Assignments/MP5_CalebFontenot/Printed HTMLs/MyStack.html new file mode 100644 index 0000000..04cffe5 --- /dev/null +++ b/Semester 2/Assignments/MP5_CalebFontenot/Printed HTMLs/MyStack.html @@ -0,0 +1,91 @@ + + + +MyStack.java + + + + +
/home/caleb/ASDV-Java/Semester 2/Assignments/MP5_CalebFontenot/src/main/java/com/calebfontenot/mp5_calebfontenot/MyStack.java
+
+/*
+ * 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.mp5_calebfontenot;
+
+/**
+ *
+ * @author caleb
+ */
+import java.util.ArrayList;
+
+public class MyStack implements Cloneable {
+  private ArrayList<Object> list = new ArrayList<>();
+
+  public boolean isEmpty() {
+    return list.isEmpty();
+  }
+
+  public int getSize() {
+    return list.size();
+  }
+
+  public Object peek() {
+    return list.get(getSize() - 1);
+  }
+
+  public Object pop() {
+    Object o = list.get(getSize() - 1);
+    list.remove(getSize() - 1);
+    return o;
+  }
+
+  public void push(Object o) {
+    list.add(o);
+  }
+
+  @Override /** Override the toString in the Object class */
+  public String toString() {
+    return "stack: " + list.toString();
+  }
+  
+  @Override
+ public Object clone() throws CloneNotSupportedException {
+      MyStack clonedStack = (MyStack) super.clone();
+      ArrayList<Object> newList = new ArrayList<>(list);
+      clonedStack.list = newList;
+      return clonedStack;
+  }
+  
+    public static void main(String[] args) throws CloneNotSupportedException {
+        MyStack stack = new MyStack();
+        final int STACK_SIZE = 50;
+        for (int i = 0; i < STACK_SIZE; ++i) {
+            stack.push(i + 1); // Fill Stack with sequential numbers.
+            //System.out.println(stack.peek());
+        }
+        System.out.println(stack.peek());
+        MyStack clonedStack = (MyStack) stack.clone();
+        System.out.println(clonedStack.peek());
+    }
+}
+
+
+ diff --git a/Semester 2/Assignments/MP5_CalebFontenot/Printed HTMLs/NormalizeDatabase.html b/Semester 2/Assignments/MP5_CalebFontenot/Printed HTMLs/NormalizeDatabase.html new file mode 100644 index 0000000..64bf29b --- /dev/null +++ b/Semester 2/Assignments/MP5_CalebFontenot/Printed HTMLs/NormalizeDatabase.html @@ -0,0 +1,203 @@ + + + +NormalizeDatabase.java + + + + +
/home/caleb/ASDV-Java/Semester 2/Assignments/MP5_CalebFontenot/src/main/java/com/calebfontenot/mp5_calebfontenot/NormalizeDatabase.java
+
+/*
+ * 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.mp5_calebfontenot;
+
+/**
+ *
+ * @author caleb
+ */
+/*
+ * To change this license header, choose License Headers in Project Properties.
+ * To change this template file, choose Tools | Templates
+ * and open the template in the editor.
+ */
+import java.util.ArrayList;
+
+/**
+ *
+ * @author ASDV2
+ */
+public class NormalizeDatabase
+{
+/**Finds the closure of a set of attributes given a set of FDs of a relation R
+ * 
+ * @param attributes attributes to find their closure
+ * @param fds set of FDs of  relation R
+ * @return the closure of the parameter attributes.
+ */
+    public static String closure(String attributes, ArrayList<FD> fds )
+    {
+        attributes = attributes.toUpperCase();
+        for (int j = 0; j < fds.size(); ++j)
+        {
+            FD capitalsFD = new FD(fds.get(j).getLhs().toUpperCase(),
+                                    fds.get(j).getRhs().toUpperCase());
+            fds.set(j, capitalsFD);
+        }
+        //        1. Set x+ = x
+        String closure = attributes;
+        String closurePreveious = attributes;
+//        2. Starting with x+ apply each FD xF —> y in F where
+//          xF belongs in closure x+ but but the rhs y is not already in x+, to find determined
+//          attributes y
+//        3. x+ = x+ U y
+
+        while (true)
+        {
+            
+            for (int i = 0; i < fds.size(); ++i)
+            {
+                if (closure.contains(fds.get(i).getRhs()))
+                    continue;
+                // if the left hand side of the FD is contained in the closure
+                // then add to the closure the RHS of the FD
+                if (closure.contains(fds.get(i).getLhs()))
+                        closure += fds.get(i).getRhs();
+            }
+            if (closurePreveious.equals(closure))
+                break;
+            else 
+                closurePreveious = closure;
+        }
+
+//        4, If y not empty goto (2)
+//        5. Return x+
+        return closure;
+
+    }
+    /**
+     * Eliminates redundant attributes from the LHS of each FD of a set of FDs
+     * given as parameters.
+     *
+     * @param fds the set of FDs to eliminate the redundancy
+     * @return and ArrayList with no redundancy on LHS of each FD.
+     */
+    public static ArrayList<FD> eliminateRedundantAttributes(ArrayList<FD> fds)
+    {
+        for (int j = 0; j < fds.size(); ++j)
+        {
+            int s = fds.get(j).getLhs().length();
+            if (s < 2)
+            {
+                continue;
+            }
+            else 
+            {
+               String fl = fds.get(j).getLhs().substring(0, 1);
+                ArrayList<FD> fFD = new ArrayList<FD>();
+                String s1 = " ";
+                if (fds.get(j).getLhs().length() == 2)
+                { 
+                    s1 = fds.get(j).getLhs().substring(1);
+                    if (closure(s1,fds).contains(fl))
+                    {
+
+                         fds.add(new FD (fds.get(j).getLhs().substring(1, 2), fds.get(j).getRhs()));
+                        fds.remove(j);
+ 
+                    }
+                }
+                else if (fds.get(j).getLhs().charAt(1) == 3)
+                {
+                    s1 = fds.get(j).getLhs().substring(1);
+                     if (closure(s1,fds).contains(fl))
+                     {
+                     fds.add(new FD (fds.get(j).getLhs().substring(1, 2), fds.get(j).getRhs()));
+                     fds.add(new FD (fds.get(j).getLhs().substring(2, 3), fds.get(j).getRhs()));
+                        fds.remove(j);
+                     }
+                }
+                else if (fds.get(j).getLhs().charAt(1) == 4)
+                {
+                    s1 = fds.get(j).getLhs().substring(1);
+                     if (closure(s1,fds).contains(fl))
+                     {
+                    fds.add(new FD (fds.get(j).getLhs().substring(1, 2), fds.get(j).getRhs()));
+                    fds.add(new FD (fds.get(j).getLhs().substring(2, 3), fds.get(j).getRhs()));
+                    fds.add(new FD (fds.get(j).getLhs().substring(3, 4), fds.get(j).getRhs()));
+                        fds.remove(j);
+                     }
+                }
+                
+                else 
+                {
+                    return fds;
+                }
+            }
+            
+        }
+        
+      return fds;
+    }
+    public static void main(String[] args)
+    {
+        ArrayList<FD> fds = new ArrayList<FD>();
+        FD fd = new FD("a", "BC");
+        FD[] fdDecomposed = fd.decomposeRightHandSide();
+        for (int i = 0; i < fdDecomposed.length; ++i)
+        {
+           fds.add( new FD(fdDecomposed[i].getLhs(), fdDecomposed[i].getRhs()));
+        }
+       
+        fds.add(new FD("B", "C"));
+        fds.add(new FD("AB", "B"));
+        fds.add(new FD("C", "A"));
+        System.out.println(fds);
+        System.out.println(closure("b", fds));
+        System.out.println(eliminateRedundantAttributes(fds));
+        /* TEST it with 
+        Let F1 = {1. A -> BC 
+                  2. B -> C, 
+                  3. AB -> D }. 
+        Attribute B is extraneous in FD 3 AB -> D
+
+        */
+        
+        
+        /*
+        F2 = { 1. AB -> C, 
+               2. C -> A, 
+               3. BC -> D, 
+               4. ACD -> B, 
+               5. D -> E, 
+               6. D -> G, 
+               7. BE -> C, 
+               8. CG -> B,
+               9. CG -> D, 
+              10. CE -> A, 
+              11. CE -> G}
+        */
+    }
+}
+
+
+ diff --git a/Semester 2/Assignments/MP5_CalebFontenot/Printed HTMLs/PrintCalendar.html b/Semester 2/Assignments/MP5_CalebFontenot/Printed HTMLs/PrintCalendar.html new file mode 100644 index 0000000..d87051d --- /dev/null +++ b/Semester 2/Assignments/MP5_CalebFontenot/Printed HTMLs/PrintCalendar.html @@ -0,0 +1,188 @@ + + + +PrintCalendar.java + + + + +
/home/caleb/ASDV-Java/Semester 2/Assignments/MP5_CalebFontenot/src/main/java/com/calebfontenot/mp5_calebfontenot/PrintCalendar.java
+
+/*
+ * 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.mp5_calebfontenot;
+
+/**
+ *
+ * @author caleb
+ */
+import java.util.Calendar;
+import java.util.Scanner;
+import java.util.Date;
+import java.util.GregorianCalendar;
+
+public class PrintCalendar {
+  /** Main method */
+  public static void main(String[] args) {
+    Scanner input = new Scanner(System.in);
+    int year, month;
+    String userInput;
+    
+    do {
+        System.out.println("What would you like to do?");
+        System.out.println("1. Print today's date.");
+        System.out.println("2. Print a specified date.");
+        System.out.println("Q/q. Quit.");
+        System.out.print("Respond with 1, 2 or Q/q: ");
+        userInput = input.next();
+        if (userInput.toLowerCase().charAt(0) == 'q') {
+            System.exit(0);
+        }
+        if (Integer.parseInt(userInput) < 0 || Integer.parseInt(userInput) > 2) {
+            System.out.println("Invalid input!");
+        } else {
+            if (Integer.parseInt(userInput) == 1) {
+                Date date = new Date();
+                printMonth((date.getYear() + 1900), date.getMonth());
+            } else if (Integer.parseInt(userInput) == 2) {
+                System.out.print("Enter a month (1-12): ");
+                month = (input.nextInt() + 1);
+                System.out.print("Enter a year: ");
+                year = (input.nextInt());
+                GregorianCalendar date = new GregorianCalendar(year, month, 0, 0, 0);
+                printMonth(date.get(Calendar.YEAR), date.get(Calendar.MONTH));
+            }
+        }
+    } while (true);
+    
+  }
+
+  /** Print the calendar for a month in a year */
+  public static void printMonth(int year, int month) {
+    // Print the headings of the calendar
+    printMonthTitle(year, month);
+
+    // Print the body of the calendar
+    printMonthBody(year, month);
+  }
+
+  /** Print the month title, e.g., May, 1999 */
+  public static void printMonthTitle(int year, int month) {
+    System.out.println("         " + getMonthName(month)
+      + " " + year);
+    System.out.println("-----------------------------");
+    System.out.println(" Sun Mon Tue Wed Thu Fri Sat");
+  }
+
+  /** Get the English name for the month */
+  public static String getMonthName(int month) {
+    String monthName = "";
+    switch (month) {
+      case 1: monthName = "January"; break;
+      case 2: monthName = "February"; break;
+      case 3: monthName = "March"; break;
+      case 4: monthName = "April"; break;
+      case 5: monthName = "May"; break;
+      case 6: monthName = "June"; break;
+      case 7: monthName = "July"; break;
+      case 8: monthName = "August"; break;
+      case 9: monthName = "September"; break;
+      case 10: monthName = "October"; break;
+      case 11: monthName = "November"; break;
+      case 12: monthName = "December";
+    }
+
+    return monthName;
+  }
+
+  /** Print month body */
+  public static void printMonthBody(int year, int month) {
+    // Get start day of the week for the first date in the month
+    int startDay = getStartDay(year, month);
+
+    // Get number of days in the month
+    int numberOfDaysInMonth = getNumberOfDaysInMonth(year, month);
+
+    // Pad space before the first day of the month
+    int i = 0;
+    for (i = 0; i < startDay; i++)
+      System.out.print("    ");
+
+    for (i = 1; i <= numberOfDaysInMonth; i++) {
+      System.out.printf("%4d", i);
+
+      if ((i + startDay) % 7 == 0)
+        System.out.println();
+    }
+
+    System.out.println();
+  }
+
+  /** Get the start day of month/1/year */
+  public static int getStartDay(int year, int month) {
+    final int START_DAY_FOR_JAN_1_1800 = 3;
+    // Get total number of days from 1/1/1800 to month/1/year
+    int totalNumberOfDays = getTotalNumberOfDays(year, month);
+
+    // Return the start day for month/1/year
+    return (totalNumberOfDays + START_DAY_FOR_JAN_1_1800) % 7;
+  }
+
+  /** Get the total number of days since January 1, 1800 */
+  public static int getTotalNumberOfDays(int year, int month) {
+    int total = 0;
+
+    // Get the total days from 1800 to 1/1/year
+    for (int i = 1800; i < year; i++)
+      if (isLeapYear(i))
+        total = total + 366;
+      else
+        total = total + 365;
+
+    // Add days from Jan to the month prior to the calendar month
+    for (int i = 1; i < month; i++)
+      total = total + getNumberOfDaysInMonth(year, i);
+
+    return total;
+  }
+
+  /** Get the number of days in a month */
+  public static int getNumberOfDaysInMonth(int year, int month) {
+    if (month == 1 || month == 3 || month == 5 || month == 7 ||
+      month == 8 || month == 10 || month == 12)
+      return 31;
+
+    if (month == 4 || month == 6 || month == 9 || month == 11)
+      return 30;
+
+    if (month == 2) return isLeapYear(year) ? 29 : 28;
+
+    return 0; // If month is incorrect
+  }
+
+  /** Determine if it is a leap year */
+  public static boolean isLeapYear(int year) {
+    return year % 400 == 0 || (year % 4 == 0 && year % 100 != 0);
+  }
+}
+
+
+
+ diff --git a/Semester 2/Assignments/MP5_CalebFontenot/Printed HTMLs/Rectangle.html b/Semester 2/Assignments/MP5_CalebFontenot/Printed HTMLs/Rectangle.html new file mode 100644 index 0000000..632df03 --- /dev/null +++ b/Semester 2/Assignments/MP5_CalebFontenot/Printed HTMLs/Rectangle.html @@ -0,0 +1,95 @@ + + + +Rectangle.java + + + + +
/home/caleb/ASDV-Java/Semester 2/Assignments/MP5_CalebFontenot/src/main/java/com/calebfontenot/mp5_calebfontenot/Rectangle.java
+
+/*
+ * 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.mp5_calebfontenot;
+
+/**
+ *
+ * @author caleb
+ */
+public class Rectangle extends GeometricObject{
+    private double width;
+    private double height;
+    
+    public Rectangle() {
+        
+    }
+
+    public Rectangle(double width, double height) {
+        this.width = width;
+        this.height = height;
+    }
+
+    public double getWidth() {
+        return width;
+    }
+
+    public void setWidth(double width) {
+        this.width = width;
+    }
+
+    public double getHeight() {
+        return height;
+    }
+
+    public void setHeight(double height) {
+        this.height = height;
+    }
+    
+    @Override
+    public double getArea() {
+        return width * height;
+    }
+
+    @Override
+    public double getPerimeter() {
+        return 2 * (width + height);
+    }
+
+    @Override
+    public int compareTo(GeometricObject t) {
+        System.out.println(this.getArea() + ", " + (t).getArea());
+        if (this.getArea() < (t).getArea()) {
+            return -1;
+        } else if (this.getArea() > (t).getArea()) {
+            return 1;
+        } else {
+            return 0;
+        }
+    }
+
+    @Override
+    public int compareTo(Object t) {
+        throw new UnsupportedOperationException("Not supported yet."); // Generated from nbfs://nbhost/SystemFileSystem/Templates/Classes/Code/GeneratedMethodBody
+    }
+
+}
+
+
+ diff --git a/Semester 2/Assignments/MP5_CalebFontenot/Printed HTMLs/ShuffleArrayList.html b/Semester 2/Assignments/MP5_CalebFontenot/Printed HTMLs/ShuffleArrayList.html new file mode 100644 index 0000000..8086d82 --- /dev/null +++ b/Semester 2/Assignments/MP5_CalebFontenot/Printed HTMLs/ShuffleArrayList.html @@ -0,0 +1,101 @@ + + + +ShuffleArrayList.java + + + + +
/home/caleb/ASDV-Java/Semester 2/Assignments/MP5_CalebFontenot/src/main/java/com/calebfontenot/mp5_calebfontenot/ShuffleArrayList.java
+
+/*
+ * 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.mp5_calebfontenot;
+
+import java.util.*;
+
+/**
+ *
+ * @author caleb
+ */
+public class ShuffleArrayList {
+
+public static void shuffle(ArrayList<Number> list) {
+    // Create a new Random object.
+    Random rng = new Random();
+    // Create an ArrayList to store the indices of the elements that have been selected.
+    ArrayList<Integer> selectedIndices = new ArrayList<Integer>();
+
+    // Loop through each element in the list.
+    for (int i = 0; i < list.size(); ++i) {
+        // Generate a random index that has not been selected before.
+        int randomIndex;
+        do {
+            randomIndex = rng.nextInt(list.size()); // Generate a random integer between 0 (inclusive) and the size of the list (exclusive).
+        } while (selectedIndices.contains(randomIndex)); // Repeat until an unselected index is found.
+        selectedIndices.add(randomIndex); // Add the selected index to the list of selected indices.
+        //System.out.println(randomIndex + ", " + i);
+        // Swap the element at the random index with the element at the current index of the loop.
+        // This shuffles the list by randomly selecting an element to swap with the current element at each iteration.
+        Number temp = list.get(randomIndex); // Save the element at the random index to a temporary variable.
+        list.set(randomIndex, list.get(i)); // Overwrite the element at the random index with the element at the current index of the loop.
+        list.set(i, temp); // Set the current index of the loop to the saved element, effectively swapping the two elements.
+    }
+}
+
+
+    public static String checkForDuplicates(ArrayList<Number> list) {
+        // Ensure Array does not include repeat numbers.
+        boolean repeatNumber = false;
+        for (int i = 0; i < list.size(); ++i) {
+            for (int j = 0; j < list.size(); ++j) {
+                if (i != j) {
+                    //System.out.println("Checking " + list.get(i) + " and " + list.get(j));
+                    if (list.get(i) == list.get(j)) {
+                        repeatNumber = true;
+                    }
+                }
+            }
+        }
+        if (repeatNumber) {
+            return "Numbers repeat in ArrayList.";
+        } else {
+            return "Numbers do not repeat in ArrayList.";
+        }
+    }
+
+    public static void main(String[] args) {
+        final int ARRAY_SIZE = 50;
+        ArrayList<Number> list = new ArrayList<>();
+        for (int i = 0; i < ARRAY_SIZE; ++i) {
+            list.add(i + 1); // Fill ArrayList with sequential numbers.
+        }
+
+        System.out.println(list);
+        System.out.println(checkForDuplicates(list));
+        shuffle(list);
+        System.out.println(list);
+        System.out.println(checkForDuplicates(list));
+    }
+
+}
+
+
+ diff --git a/Semester 2/Assignments/MP5_CalebFontenot/Printed HTMLs/SortArrayList.html b/Semester 2/Assignments/MP5_CalebFontenot/Printed HTMLs/SortArrayList.html new file mode 100644 index 0000000..a95db29 --- /dev/null +++ b/Semester 2/Assignments/MP5_CalebFontenot/Printed HTMLs/SortArrayList.html @@ -0,0 +1,74 @@ + + + +SortArrayList.java + + + + +
/home/caleb/ASDV-Java/Semester 2/Assignments/MP5_CalebFontenot/src/main/java/com/calebfontenot/mp5_calebfontenot/SortArrayList.java
+
+/*
+ * 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.mp5_calebfontenot;
+
+import java.math.BigDecimal;
+import java.util.ArrayList;
+
+/**
+ *
+ * @author caleb
+ */
+public class SortArrayList {
+
+    public static void sort(ArrayList<Number> list) {
+        // Selection sort implementation for ArrayLists.
+        for (int i = 0; i < list.size(); ++i) {
+            for (int j = i + 1; j < list.size(); ++j) {
+                // BigDecimal should work for any type. Have not confirmed this.
+                Number numI = list.get(i);
+                Number numJ = list.get(j);
+                BigDecimal bigNumI =  new BigDecimal(list.get(i).toString());
+                BigDecimal bigNumJ =  new BigDecimal(list.get(j).toString());
+                if (bigNumI.compareTo(bigNumJ) == 1) {
+                    Number tmp = numI;
+                    list.set(i, numJ);
+                    list.set(j, tmp);
+                }
+            }
+        }
+    }
+
+    public static void main(String[] args) {
+        final int ARRAY_SIZE = 50;
+        ArrayList<Number> list = new ArrayList<>();
+        for (int i = 0; i < ARRAY_SIZE; ++i) {
+            list.add((i) + Math.random()); // Fill ArrayList with sequential numbers.
+        }
+        System.out.println(list);
+        ShuffleArrayList.shuffle(list); // Use our shuffle method from earlier
+        System.out.println(list);
+        sort(list);
+        System.out.println(list);
+
+    }
+}
+
+
+ diff --git a/Semester 2/Assignments/MP5_CalebFontenot/Printed HTMLs/TestCircle.html b/Semester 2/Assignments/MP5_CalebFontenot/Printed HTMLs/TestCircle.html new file mode 100644 index 0000000..90ded48 --- /dev/null +++ b/Semester 2/Assignments/MP5_CalebFontenot/Printed HTMLs/TestCircle.html @@ -0,0 +1,43 @@ + + + +TestCircle.java + + + + +
/home/caleb/ASDV-Java/Semester 2/Assignments/MP5_CalebFontenot/src/main/java/com/calebfontenot/mp5_calebfontenot/TestCircle.java
+
+/*
+ * 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.mp5_calebfontenot;
+
+/**
+ *
+ * @author caleb
+ */
+public class TestCircle {
+    public static void main(String[] args) {
+        Circle circle1 = new Circle(5);
+        Circle circle2 = new Circle(10);
+        System.out.println(circle1.compareTo(circle2));
+    }
+}
+
+
+ diff --git a/Semester 2/Assignments/MP5_CalebFontenot/Printed HTMLs/TestGeometricObject.html b/Semester 2/Assignments/MP5_CalebFontenot/Printed HTMLs/TestGeometricObject.html new file mode 100644 index 0000000..63225fa --- /dev/null +++ b/Semester 2/Assignments/MP5_CalebFontenot/Printed HTMLs/TestGeometricObject.html @@ -0,0 +1,60 @@ + + + +TestGeometricObject.java + + + + +
/home/caleb/ASDV-Java/Semester 2/Assignments/MP5_CalebFontenot/src/main/java/com/calebfontenot/mp5_calebfontenot/TestGeometricObject.java
+
+/*
+ * 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.mp5_calebfontenot;
+
+/**
+ *
+ * @author caleb
+ */
+public class TestGeometricObject {
+public static void main(String[] args) {
+    // Create two comparable Circles
+    Circle circle1 = new Circle(5);
+    Circle circle2 = new Circle(4);
+
+    // Display the max Circle
+    Circle circle = (Circle) GeometricObject.max(circle1, circle2);
+    System.out.println("The max Circle's radius is " + circle.getRadius());
+    System.out.println(circle);
+
+    // Create two comparable rectangles
+    Rectangle r1 = new Rectangle(5, 4);
+    Rectangle r2 = new Rectangle(4, 5);
+
+    System.out.println(r1.compareTo(r2));
+    System.out.println("The max rectangle is " + (Rectangle) Rectangle.max(r1, r2));
+    
+    System.out.println("The max geometric object is " + GeometricObject.max(circle1, r2));
+  }
+}
+
+
+
+ diff --git a/Semester 2/Assignments/MP5_CalebFontenot/src/main/java/com/calebfontenot/mp5_calebfontenot/Circle.java b/Semester 2/Assignments/MP5_CalebFontenot/src/main/java/com/calebfontenot/mp5_calebfontenot/Circle.java new file mode 100644 index 0000000..4a70fd6 --- /dev/null +++ b/Semester 2/Assignments/MP5_CalebFontenot/src/main/java/com/calebfontenot/mp5_calebfontenot/Circle.java @@ -0,0 +1,55 @@ +/* + * 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.mp5_calebfontenot; + +/** + * + * @author caleb + */ +public class Circle extends GeometricObject { + private double diameter; + + public Circle(double diameter) { + this.diameter = diameter; + System.out.println("Circle Diameter: " + diameter); + } + + public double getRadius() { + return diameter / 2; + } + + @Override + public double getArea() { + double radius = diameter / 2; + return Math.PI * Math.pow(radius, 2); + } + + @Override + public double getPerimeter() { + return Math.PI * diameter; + } + + @Override + public String toString() { + return "Circle{" + "diameter=" + diameter + '}'; + } + + @Override + public int compareTo(GeometricObject t) { + System.out.println(this.getArea() + ", " + (t).getArea()); + if (this.getArea() < (t).getArea()) { + return -1; + } else if (this.getArea() > (t).getArea()) { + return 1; + } else { + return 0; + } + } + + @Override + public int compareTo(Object t) { + throw new UnsupportedOperationException("Not supported yet."); // Generated from nbfs://nbhost/SystemFileSystem/Templates/Classes/Code/GeneratedMethodBody + } +} diff --git a/Semester 2/Assignments/MP5_CalebFontenot/src/main/java/com/calebfontenot/mp5_calebfontenot/GeometricObject.java b/Semester 2/Assignments/MP5_CalebFontenot/src/main/java/com/calebfontenot/mp5_calebfontenot/GeometricObject.java new file mode 100644 index 0000000..e2eecc7 --- /dev/null +++ b/Semester 2/Assignments/MP5_CalebFontenot/src/main/java/com/calebfontenot/mp5_calebfontenot/GeometricObject.java @@ -0,0 +1,95 @@ +/* + * 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.mp5_calebfontenot; + +/** + * + * @author caleb + */ +public abstract class GeometricObject implements Comparable { + + private String color = "white"; + private boolean filled; + private java.util.Date dateCreated; + + /** + * Construct a default geometric object + */ + protected GeometricObject() { + dateCreated = new java.util.Date(); + } + + /** + * Construct a geometric object with color and filled value + */ + protected GeometricObject(String color, boolean filled) { + dateCreated = new java.util.Date(); + this.color = color; + this.filled = filled; + } + + /** + * Return color + */ + public String getColor() { + return color; + } + + /** + * Set a new color + */ + public void setColor(String color) { + this.color = color; + } + + /** + * Return filled. Since filled is boolean, the get method is named isFilled + */ + public boolean isFilled() { + return filled; + } + + /** + * Set a new filled + */ + public void setFilled(boolean filled) { + this.filled = filled; + } + + /** + * Get dateCreated + */ + public java.util.Date getDateCreated() { + return dateCreated; + } + + @Override + public String toString() { + return "created on " + dateCreated + "\ncolor: " + color + + " and filled: " + filled; + } + + /** + * Abstract method getArea + */ + public abstract double getArea(); + + /** + * Abstract method getPerimeter + */ + public abstract double getPerimeter(); + + // Additional code below + public abstract int compareTo(GeometricObject t); + + public static GeometricObject max(GeometricObject o1, GeometricObject o2) { + if (o1.getArea() >= o2.getArea()) { + return o1; + } else { + return o2; + } + } +} + diff --git a/Semester 2/Assignments/MP5_CalebFontenot/src/main/java/com/calebfontenot/mp5_calebfontenot/MyStack.java b/Semester 2/Assignments/MP5_CalebFontenot/src/main/java/com/calebfontenot/mp5_calebfontenot/MyStack.java new file mode 100644 index 0000000..60396ea --- /dev/null +++ b/Semester 2/Assignments/MP5_CalebFontenot/src/main/java/com/calebfontenot/mp5_calebfontenot/MyStack.java @@ -0,0 +1,62 @@ +/* + * 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.mp5_calebfontenot; + +/** + * + * @author caleb + */ +import java.util.ArrayList; + +public class MyStack implements Cloneable { + private ArrayList list = new ArrayList<>(); + + public boolean isEmpty() { + return list.isEmpty(); + } + + public int getSize() { + return list.size(); + } + + public Object peek() { + return list.get(getSize() - 1); + } + + public Object pop() { + Object o = list.get(getSize() - 1); + list.remove(getSize() - 1); + return o; + } + + public void push(Object o) { + list.add(o); + } + + @Override /** Override the toString in the Object class */ + public String toString() { + return "stack: " + list.toString(); + } + + @Override + public Object clone() throws CloneNotSupportedException { + MyStack clonedStack = (MyStack) super.clone(); + ArrayList newList = new ArrayList<>(list); + clonedStack.list = newList; + return clonedStack; + } + + public static void main(String[] args) throws CloneNotSupportedException { + MyStack stack = new MyStack(); + final int STACK_SIZE = 50; + for (int i = 0; i < STACK_SIZE; ++i) { + stack.push(i + 1); // Fill Stack with sequential numbers. + //System.out.println(stack.peek()); + } + System.out.println(stack.peek()); + MyStack clonedStack = (MyStack) stack.clone(); + System.out.println(clonedStack.peek()); + } +} diff --git a/Semester 2/Assignments/MP5_CalebFontenot/src/main/java/com/calebfontenot/mp5_calebfontenot/NormalizeDatabase.java b/Semester 2/Assignments/MP5_CalebFontenot/src/main/java/com/calebfontenot/mp5_calebfontenot/NormalizeDatabase.java index c1c4981..c81cc89 100644 --- a/Semester 2/Assignments/MP5_CalebFontenot/src/main/java/com/calebfontenot/mp5_calebfontenot/NormalizeDatabase.java +++ b/Semester 2/Assignments/MP5_CalebFontenot/src/main/java/com/calebfontenot/mp5_calebfontenot/NormalizeDatabase.java @@ -14,7 +14,6 @@ package com.calebfontenot.mp5_calebfontenot; * and open the template in the editor. */ import java.util.ArrayList; -import java.util.Set; /** * @@ -86,40 +85,51 @@ public class NormalizeDatabase } else { - String fl = fds.get(j).getLhs().substring(0); + String fl = fds.get(j).getLhs().substring(0, 1); ArrayList fFD = new ArrayList(); String s1 = " "; if (fds.get(j).getLhs().length() == 2) - { - + { s1 = fds.get(j).getLhs().substring(1); - fFD.add(new FD (fds.get(j).getLhs().substring(1), fds.get(j).getLhs())); - System.out.println("closure " + closure(s1, fds)); - System.out.println("Attribute " + s1); - System.out.println("final (removed " + fFD); + if (closure(s1,fds).contains(fl)) + { + + fds.add(new FD (fds.get(j).getLhs().substring(1, 2), fds.get(j).getRhs())); + fds.remove(j); + + } } -// else if (fds.get(j).getLhs().charAt(1) == 3) -// { -// lFD.add(fds.get(j).getLhs().charAt(1)); -// lFD.add(fds.get(j).getLhs().charAt(2)); -// } -// else if (fds.get(j).getLhs().charAt(1) == 4) -// { -// lFD.add(fds.get(j).getLhs().charAt(1)); -// lFD.add(fds.get(j).getLhs().charAt(2)); -// lFD.add(fds.get(j).getLhs().charAt(3)); -// } - if (closure(s1, fds).contains(fl)) + else if (fds.get(j).getLhs().charAt(1) == 3) { - return fFD; + s1 = fds.get(j).getLhs().substring(1); + if (closure(s1,fds).contains(fl)) + { + fds.add(new FD (fds.get(j).getLhs().substring(1, 2), fds.get(j).getRhs())); + fds.add(new FD (fds.get(j).getLhs().substring(2, 3), fds.get(j).getRhs())); + fds.remove(j); + } } + else if (fds.get(j).getLhs().charAt(1) == 4) + { + s1 = fds.get(j).getLhs().substring(1); + if (closure(s1,fds).contains(fl)) + { + fds.add(new FD (fds.get(j).getLhs().substring(1, 2), fds.get(j).getRhs())); + fds.add(new FD (fds.get(j).getLhs().substring(2, 3), fds.get(j).getRhs())); + fds.add(new FD (fds.get(j).getLhs().substring(3, 4), fds.get(j).getRhs())); + fds.remove(j); + } + } + else { return fds; } } + } - return null; + + return fds; } public static void main(String[] args) { diff --git a/Semester 2/Assignments/MP5_CalebFontenot/src/main/java/com/calebfontenot/mp5_calebfontenot/PrintCalendar.java b/Semester 2/Assignments/MP5_CalebFontenot/src/main/java/com/calebfontenot/mp5_calebfontenot/PrintCalendar.java new file mode 100644 index 0000000..626089a --- /dev/null +++ b/Semester 2/Assignments/MP5_CalebFontenot/src/main/java/com/calebfontenot/mp5_calebfontenot/PrintCalendar.java @@ -0,0 +1,160 @@ +/* + * 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.mp5_calebfontenot; + +/** + * + * @author caleb + */ +import java.util.Calendar; +import java.util.Scanner; +import java.util.Date; +import java.util.GregorianCalendar; + +public class PrintCalendar { + /** Main method */ + public static void main(String[] args) { + Scanner input = new Scanner(System.in); + int year, month; + String userInput; + + do { + System.out.println("What would you like to do?"); + System.out.println("1. Print today's date."); + System.out.println("2. Print a specified date."); + System.out.println("Q/q. Quit."); + System.out.print("Respond with 1, 2 or Q/q: "); + userInput = input.next(); + if (userInput.toLowerCase().charAt(0) == 'q') { + System.exit(0); + } + if (Integer.parseInt(userInput) < 0 || Integer.parseInt(userInput) > 2) { + System.out.println("Invalid input!"); + } else { + if (Integer.parseInt(userInput) == 1) { + Date date = new Date(); + printMonth((date.getYear() + 1900), date.getMonth()); + } else if (Integer.parseInt(userInput) == 2) { + System.out.print("Enter a month (1-12): "); + month = (input.nextInt() + 1); + System.out.print("Enter a year: "); + year = (input.nextInt()); + GregorianCalendar date = new GregorianCalendar(year, month, 0, 0, 0); + printMonth(date.get(Calendar.YEAR), date.get(Calendar.MONTH)); + } + } + } while (true); + + } + + /** Print the calendar for a month in a year */ + public static void printMonth(int year, int month) { + // Print the headings of the calendar + printMonthTitle(year, month); + + // Print the body of the calendar + printMonthBody(year, month); + } + + /** Print the month title, e.g., May, 1999 */ + public static void printMonthTitle(int year, int month) { + System.out.println(" " + getMonthName(month) + + " " + year); + System.out.println("-----------------------------"); + System.out.println(" Sun Mon Tue Wed Thu Fri Sat"); + } + + /** Get the English name for the month */ + public static String getMonthName(int month) { + String monthName = ""; + switch (month) { + case 1: monthName = "January"; break; + case 2: monthName = "February"; break; + case 3: monthName = "March"; break; + case 4: monthName = "April"; break; + case 5: monthName = "May"; break; + case 6: monthName = "June"; break; + case 7: monthName = "July"; break; + case 8: monthName = "August"; break; + case 9: monthName = "September"; break; + case 10: monthName = "October"; break; + case 11: monthName = "November"; break; + case 12: monthName = "December"; + } + + return monthName; + } + + /** Print month body */ + public static void printMonthBody(int year, int month) { + // Get start day of the week for the first date in the month + int startDay = getStartDay(year, month); + + // Get number of days in the month + int numberOfDaysInMonth = getNumberOfDaysInMonth(year, month); + + // Pad space before the first day of the month + int i = 0; + for (i = 0; i < startDay; i++) + System.out.print(" "); + + for (i = 1; i <= numberOfDaysInMonth; i++) { + System.out.printf("%4d", i); + + if ((i + startDay) % 7 == 0) + System.out.println(); + } + + System.out.println(); + } + + /** Get the start day of month/1/year */ + public static int getStartDay(int year, int month) { + final int START_DAY_FOR_JAN_1_1800 = 3; + // Get total number of days from 1/1/1800 to month/1/year + int totalNumberOfDays = getTotalNumberOfDays(year, month); + + // Return the start day for month/1/year + return (totalNumberOfDays + START_DAY_FOR_JAN_1_1800) % 7; + } + + /** Get the total number of days since January 1, 1800 */ + public static int getTotalNumberOfDays(int year, int month) { + int total = 0; + + // Get the total days from 1800 to 1/1/year + for (int i = 1800; i < year; i++) + if (isLeapYear(i)) + total = total + 366; + else + total = total + 365; + + // Add days from Jan to the month prior to the calendar month + for (int i = 1; i < month; i++) + total = total + getNumberOfDaysInMonth(year, i); + + return total; + } + + /** Get the number of days in a month */ + public static int getNumberOfDaysInMonth(int year, int month) { + if (month == 1 || month == 3 || month == 5 || month == 7 || + month == 8 || month == 10 || month == 12) + return 31; + + if (month == 4 || month == 6 || month == 9 || month == 11) + return 30; + + if (month == 2) return isLeapYear(year) ? 29 : 28; + + return 0; // If month is incorrect + } + + /** Determine if it is a leap year */ + public static boolean isLeapYear(int year) { + return year % 400 == 0 || (year % 4 == 0 && year % 100 != 0); + } +} + diff --git a/Semester 2/Assignments/MP5_CalebFontenot/src/main/java/com/calebfontenot/mp5_calebfontenot/Rectangle.java b/Semester 2/Assignments/MP5_CalebFontenot/src/main/java/com/calebfontenot/mp5_calebfontenot/Rectangle.java new file mode 100644 index 0000000..587a801 --- /dev/null +++ b/Semester 2/Assignments/MP5_CalebFontenot/src/main/java/com/calebfontenot/mp5_calebfontenot/Rectangle.java @@ -0,0 +1,67 @@ +/* + * 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.mp5_calebfontenot; + +/** + * + * @author caleb + */ +public class Rectangle extends GeometricObject{ + private double width; + private double height; + + public Rectangle() { + + } + + public Rectangle(double width, double height) { + this.width = width; + this.height = height; + } + + public double getWidth() { + return width; + } + + public void setWidth(double width) { + this.width = width; + } + + public double getHeight() { + return height; + } + + public void setHeight(double height) { + this.height = height; + } + + @Override + public double getArea() { + return width * height; + } + + @Override + public double getPerimeter() { + return 2 * (width + height); + } + + @Override + public int compareTo(GeometricObject t) { + System.out.println(this.getArea() + ", " + (t).getArea()); + if (this.getArea() < (t).getArea()) { + return -1; + } else if (this.getArea() > (t).getArea()) { + return 1; + } else { + return 0; + } + } + + @Override + public int compareTo(Object t) { + throw new UnsupportedOperationException("Not supported yet."); // Generated from nbfs://nbhost/SystemFileSystem/Templates/Classes/Code/GeneratedMethodBody + } + +} diff --git a/Semester 2/Assignments/MP5_CalebFontenot/src/main/java/com/calebfontenot/mp5_calebfontenot/TestGeometricObject.java b/Semester 2/Assignments/MP5_CalebFontenot/src/main/java/com/calebfontenot/mp5_calebfontenot/TestGeometricObject.java new file mode 100644 index 0000000..6421def --- /dev/null +++ b/Semester 2/Assignments/MP5_CalebFontenot/src/main/java/com/calebfontenot/mp5_calebfontenot/TestGeometricObject.java @@ -0,0 +1,32 @@ +/* + * 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.mp5_calebfontenot; + +/** + * + * @author caleb + */ +public class TestGeometricObject { +public static void main(String[] args) { + // Create two comparable Circles + Circle circle1 = new Circle(5); + Circle circle2 = new Circle(4); + + // Display the max Circle + Circle circle = (Circle) GeometricObject.max(circle1, circle2); + System.out.println("The max Circle's radius is " + circle.getRadius()); + System.out.println(circle); + + // Create two comparable rectangles + Rectangle r1 = new Rectangle(5, 4); + Rectangle r2 = new Rectangle(4, 5); + + System.out.println(r1.compareTo(r2)); + System.out.println("The max rectangle is " + (Rectangle) Rectangle.max(r1, r2)); + + System.out.println("The max geometric object is " + GeometricObject.max(circle1, r2)); + } +} + diff --git a/Semester 2/ZIPs/MP5_CalebFontenot.zip b/Semester 2/ZIPs/MP5_CalebFontenot.zip new file mode 100644 index 0000000000000000000000000000000000000000..81d619791bf335f9307ce8fd1f039fdfc2b1de4f GIT binary patch literal 153931 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�hZc2RbB{>> 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 j19+l(_aA{?xB?uX!2xzS5D*36XAA)d$OO;_2