Agonizing torment

master
Caleb Fontenot 2023-11-15 10:17:04 +07:00
parent ebe6dc4b86
commit 490f041804
9 changed files with 259 additions and 19 deletions

@ -0,0 +1,55 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>CompareSize.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; font-weight: bold}
pre {color: #a9b7c6; background-color: #2b2b2b; font-family: monospace; font-weight: bold}
table {color: #888888; background-color: #313335; font-family: monospace; font-weight: bold}
.number {color: #6897bb}
.ST1 {color: #ffc66d}
.comment {color: #808080}
.whitespace {color: #505050}
.ST2 {color: #9876aa; font-family: monospace; font-weight: bold; font-style: italic}
.ST0 {color: #287bde}
.literal {color: #cc7832}
-->
</style>
</head>
<body>
<table width="100%"><tr><td align="center">/home/caleb/ASDV-Java/Semester 3/Assignments/Lab_CalebFontenot_MaximumOrderedString/src/main/java/edu/slcc/asdv/caleb/lab_calebfontenot_maximumorderedstring/CompareSize.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> edu.slcc.asdv.caleb.lab_calebfontenot_maximumorderedstring;
<span class="literal">import</span> java.util.Comparator;
<span class="comment">/**</span>
<span class="comment"> *</span>
<span class="comment"> * </span><span class="comment">@author</span> <span class="comment">caleb</span>
<span class="comment">*/</span>
<span class="literal">public</span> <span class="literal">class</span> CompareSize <span class="literal">implements</span> Comparator {
@Override
<span class="literal">public</span> <span class="literal">int</span> <span class="ST1">compare</span>(Object o1, Object o2)
{
<span class="literal">int</span> str1 = ((String) o1).length();
<span class="literal">int</span> str2 = ((String) o2).length();
<span class="literal">if</span> (str1 &gt; str2) {
<span class="literal">return</span> -<span class="number">1</span>;
} <span class="literal">else</span> <span class="literal">if</span>(str1 == str2) {
<span class="literal">return</span> <span class="number">0</span>;
} <span class="literal">else</span> <span class="literal">if</span> (str1 &lt; str2) {
<span class="literal">return</span> <span class="number">1</span>;
}
<span class="literal">return</span> Integer.<span class="ST2">MAX_VALUE</span>;
}
}
</pre></body>
</html>

@ -0,0 +1,74 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>FindMax.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; font-weight: bold}
pre {color: #a9b7c6; background-color: #2b2b2b; font-family: monospace; font-weight: bold}
table {color: #888888; background-color: #313335; font-family: monospace; font-weight: bold}
.number {color: #6897bb}
.string {color: #6a8759}
.comment {color: #808080}
.whitespace {color: #505050}
.ST1 {color: #ffc66d; font-family: monospace; font-weight: bold; font-style: italic}
.ST2 {color: #9876aa; font-family: monospace; font-weight: bold; font-style: italic}
.ST0 {color: #287bde}
.literal {color: #cc7832}
.ST3 {font-family: monospace; font-weight: bold; font-style: italic}
-->
</style>
</head>
<body>
<table width="100%"><tr><td align="center">/home/caleb/ASDV-Java/Semester 3/Assignments/Lab_CalebFontenot_MaximumOrderedString/src/main/java/edu/slcc/asdv/caleb/lab_calebfontenot_maximumorderedstring/FindMax.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> edu.slcc.asdv.caleb.lab_calebfontenot_maximumorderedstring;
<span class="literal">import</span> java.util.ArrayList;
<span class="literal">import</span> java.util.Collections;
<span class="comment">import</span> <span class="comment">java</span><span class="comment">.</span><span class="comment">util</span><span class="comment">.</span><span class="comment">Comparator</span><span class="comment">;</span>
<span class="comment">import</span> <span class="comment">java</span><span class="comment">.</span><span class="comment">util</span><span class="comment">.</span><span class="comment">Scanner</span><span class="comment">;</span>
<span class="comment">/**</span>
<span class="comment"> *</span>
<span class="comment"> * </span><span class="comment">@author</span> <span class="comment">caleb</span>
<span class="comment">*/</span>
<span class="literal">public</span> <span class="literal">class</span> FindMax {
<span class="literal">public</span> <span class="literal">static</span> String <span class="ST1">findMax</span>(String input) {
<span class="literal">int</span> iterationCount = <span class="number">0</span>;
ArrayList&lt;String&gt; possibleSubStr = <span class="literal">new</span> ArrayList&lt;&gt;();
String currentStr = <span class="string">&quot;&quot;</span>;
<span class="literal">for</span> (<span class="literal">int</span> i = <span class="number">0</span>; i &lt; input.length() -<span class="number">2</span>; ++i) {
currentStr = input.charAt(i) + <span class="string">&quot;&quot;</span>;
<span class="literal">for</span>(<span class="literal">int</span> j = i + <span class="number">1</span>; j &lt; input.length() -<span class="number">1</span>; ++j) {
iterationCount++;
<span class="literal">if</span> (input.toLowerCase().charAt(i) &lt; input.toLowerCase().charAt(j)) {
currentStr += input.charAt(j);
} <span class="literal">else</span> {
possibleSubStr.add(currentStr);
<span class="literal">break</span>;
}
}
}
System.<span class="ST2">out</span>.println(<span class="string">&quot;</span><span class="string">Iteration count: </span><span class="string">&quot;</span> + iterationCount);
System.<span class="ST2">out</span>.println(possibleSubStr);
Collections.<span class="ST3">sort</span>(possibleSubStr, <span class="literal">new</span> CompareSize());
<span class="literal">return</span> possibleSubStr.get(<span class="number">0</span>);
}
<span class="literal">public</span> <span class="literal">static</span> <span class="literal">void</span> <span class="ST1">main</span>(String[] args)
{
<span class="comment">//System.out.print(&quot;Enter a string: &quot;);</span>
<span class="comment">//Scanner input = new Scanner(System.in);</span>
String inputString = <span class="string">&quot;</span><span class="string">abcdabcdefgzabcdefadcdefab</span><span class="string">&quot;</span>;
<span class="comment">//input.nextLine();</span>
System.<span class="ST2">out</span>.print(<span class="string">&quot;</span><span class="string">The maximum sorted subString is: </span><span class="string">&quot;</span>);
System.<span class="ST2">out</span>.println(<span class="ST3">f</span><span class="ST3">indMax</span>(inputString));
}
}
</pre></body>
</html>

@ -0,0 +1,62 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>FindMaxOrderedSubstring.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; font-weight: bold}
pre {color: #a9b7c6; background-color: #2b2b2b; font-family: monospace; font-weight: bold}
table {color: #888888; background-color: #313335; font-family: monospace; font-weight: bold}
.string {color: #6a8759}
.number {color: #6897bb}
.comment {color: #808080}
.whitespace {color: #505050}
.ST1 {color: #ffc66d; font-family: monospace; font-weight: bold; font-style: italic}
.ST2 {color: #9876aa; font-family: monospace; font-weight: bold; font-style: italic}
.ST0 {color: #287bde}
.literal {color: #cc7832}
.ST3 {font-family: monospace; font-weight: bold; font-style: italic}
-->
</style>
</head>
<body>
<table width="100%"><tr><td align="center">/home/caleb/ASDV-Java/Semester 3/Assignments/Lab_CalebFontenot_MaximumOrderedString/src/main/java/edu/slcc/asdv/caleb/lab_calebfontenot_maximumorderedstring/FindMaxOrderedSubstring.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> edu.slcc.asdv.caleb.lab_calebfontenot_maximumorderedstring;
<span class="comment">import</span> <span class="comment">java</span><span class="comment">.</span><span class="comment">util</span><span class="comment">.</span><span class="comment">ArrayList</span><span class="comment">;</span>
<span class="comment">import</span> <span class="comment">java</span><span class="comment">.</span><span class="comment">util</span><span class="comment">.</span><span class="comment">Collections</span><span class="comment">;</span>
<span class="comment">/**</span>
<span class="comment"> *</span>
<span class="comment"> * </span><span class="comment">@author</span> <span class="comment">caleb</span>
<span class="comment">*/</span>
<span class="literal">public</span> <span class="literal">class</span> FindMaxOrderedSubstring {
<span class="literal">public</span> <span class="literal">static</span> String <span class="ST1">findMaxOrderedSubString</span>(String input) {
String outputString = <span class="string">&quot;&quot;</span>;
<span class="literal">int</span> j = <span class="number">0</span>;
<span class="literal">for</span> (<span class="literal">int</span> i = <span class="number">0</span>; i &lt; input.length(); ++i) {
<span class="literal">if</span> (i == <span class="number">0</span>) {
outputString += input.charAt(i);
}
<span class="literal">if</span> (input.charAt(i) &gt; outputString.charAt(j)) {
++j;
outputString += input.charAt(i);
}
}
<span class="literal">return</span> outputString;
}
<span class="literal">public</span> <span class="literal">static</span> <span class="literal">void</span> <span class="ST1">main</span>(String[] args) {
System.<span class="ST2">out</span>.println(<span class="ST3">f</span><span class="ST3">indMaxOrderedSubString</span>(<span class="string">&quot;</span><span class="string">Welcome!</span><span class="string">&quot;</span>));
}
}
</pre></body>
</html>

@ -0,0 +1,30 @@
/*
* 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 edu.slcc.asdv.caleb.lab_calebfontenot_maximumorderedstring;
import java.util.Comparator;
/**
*
* @author caleb
*/
public class CompareSize implements Comparator {
@Override
public int compare(Object o1, Object o2)
{
int str1 = ((String) o1).length();
int str2 = ((String) o2).length();
if (str1 > str2) {
return -1;
} else if(str1 == str2) {
return 0;
} else if (str1 < str2) {
return 1;
}
return Integer.MAX_VALUE;
}
}

@ -15,11 +15,13 @@ import java.util.Scanner;
*/
public class FindMax {
public static String findMax(String input) {
int iterationCount = 0;
ArrayList<String> possibleSubStr = new ArrayList<>();
String currentStr = "";
for (int i = 0; i < input.length() -2; ++i) {
currentStr = input.charAt(i) + "";
for(int j = i + 1; j < input.length() -1; ++j) {
iterationCount++;
if (input.toLowerCase().charAt(i) < input.toLowerCase().charAt(j)) {
currentStr += input.charAt(j);
} else {
@ -28,8 +30,9 @@ public class FindMax {
}
}
}
System.out.println("Iteration count: " + iterationCount);
System.out.println(possibleSubStr);
Collections.sort(possibleSubStr, new CompareSize());
//System.out.println(possibleSubStr);
return possibleSubStr.get(0);
}
public static void main(String[] args)
@ -41,22 +44,4 @@ public class FindMax {
System.out.print("The maximum sorted subString is: ");
System.out.println(findMax(inputString));
}
}
class CompareSize implements Comparator {
@Override
public int compare(Object o1, Object o2)
{
int str1 = ((String) o1).length();
int str2 = ((String) o2).length();
if (str1 > str2) {
return -1;
} else if(str1 == str2) {
return 0;
} else if (str1 < str2) {
return 1;
}
return Integer.MAX_VALUE;
}
}

@ -0,0 +1,34 @@
/*
* 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 edu.slcc.asdv.caleb.lab_calebfontenot_maximumorderedstring;
import java.util.ArrayList;
import java.util.Collections;
/**
*
* @author caleb
*/
public class FindMaxOrderedSubstring {
public static String findMaxOrderedSubString(String input) {
String outputString = "";
int j = 0;
for (int i = 0; i < input.length(); ++i) {
if (i == 0) {
outputString += input.charAt(i);
}
if (input.charAt(i) > outputString.charAt(j)) {
++j;
outputString += input.charAt(i);
}
}
return outputString;
}
public static void main(String[] args) {
System.out.println(findMaxOrderedSubString("Welcome!"));
}
}