master
Chloe Fontenot 🏳️‍⚧️ 2022-11-16 11:36:13 +07:00
parent ef1576c36b
commit 6e2805fed3
13 changed files with 411 additions and 1 deletions

1
.gitignore vendored

@ -41,3 +41,4 @@
/Assignments/lab15_CalebFontenot/build/ /Assignments/lab15_CalebFontenot/build/
/Assignments/lab15_CalebFontenot/dist/ /Assignments/lab15_CalebFontenot/dist/
/Assignments/Experiments/mavenproject1/target/ /Assignments/Experiments/mavenproject1/target/
/Assignments/lab16_arrays2_CalebFontenot/target/

@ -0,0 +1,197 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>MP4_CalebFontenot.java</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<style type="text/css">
<!--
body {color: #000000; background-color: #ffffff; font-family: monospace}
pre {color: #000000; background-color: #ffffff; font-family: monospace}
table {color: #404040; background-color: #e9e8e2; font-family: monospace}
.ST0 {color: #969696; font-family: monospace; font-weight: bold}
.ST1 {font-family: monospace; font-weight: bold}
.comment {color: #969696}
.ST3 {font-family: monospace; font-weight: bold; font-style: italic}
.ST4 {font-family: monospace; font-style: italic}
.ST2 {color: #ce54b8; font-family: monospace; font-style: italic}
.string {color: #1e9347}
.literal {color: #336bdd}
-->
</style>
</head>
<body>
<table width="100%"><tr><td align="center">/home/caleb/ASDV-Java/Assignments/MP4_CalebFontenot/src/mp4_calebfontenot/MP4_CalebFontenot.java</td></tr></table>
<pre>
<span class="comment">/*</span>
<span class="comment"> * To change this license header, choose License Headers in Project Properties.</span>
<span class="comment"> * To change this template file, choose Tools | Templates</span>
<span class="comment"> * and open the template in the editor.</span>
<span class="comment"> */</span>
<span class="literal">package</span> mp4_calebfontenot;
<span class="literal">import</span> java.util.Scanner;
<span class="comment">/**</span>
<span class="comment"> *</span>
<span class="comment"> * </span><span class="ST0">@author</span> <span class="comment">caleb</span>
<span class="comment">*/</span>
<span class="literal">public</span> <span class="literal">class</span> <span class="ST1">MP4_CalebFontenot</span> {
<span class="literal">static</span> <span class="literal">boolean</span> <span class="ST2">debug</span> = <span class="literal">true</span>;
<span class="comment">/**</span>
<span class="comment"> * </span><span class="ST0">If</span> <span class="ST0">the</span> <span class="ST0">result</span> <span class="ST0">from</span> <span class="ST0">Step</span><span class="ST0"> 4 </span><span class="ST0">is</span> <span class="ST0">divisible</span> <span class="ST0">by</span><span class="ST0"> 10, </span><span class="ST0">the</span> <span class="ST0">card</span> <span class="ST0">number</span> <span class="ST0">is</span> <span class="ST0">valid</span><span class="ST0">; </span><span class="ST0">otherwise</span><span class="ST0">, </span><span class="ST0">it</span> <span class="ST0">is</span> <span class="ST0">invalid</span><span class="ST0">.</span> <span class="comment">For</span> <span class="comment">example</span><span class="comment">, </span><span class="comment">the</span> <span class="comment">number</span><span class="comment"> 4388576018402626 </span><span class="comment">is</span> <span class="comment">invalid</span><span class="comment">, </span><span class="comment">but</span> <span class="comment">the</span> <span class="comment">number</span><span class="comment"> 4388576018410707 </span><span class="comment">is</span> <span class="comment">valid</span>
<span class="comment"> *</span>
<span class="comment"> * </span><span class="ST0">@param</span> CreditCard
<span class="comment"> * </span><span class="ST0">@return</span>
<span class="comment">*/</span>
<span class="literal">public</span> <span class="literal">static</span> <span class="literal">boolean</span> <span class="ST3">isValid</span>(String CreditCard) {
<span class="literal">int</span> sumResult = MP4_CalebFontenot.<span class="ST4">sum</span>(MP4_CalebFontenot.<span class="ST4">doubleDigitsAndSumSingleDigits</span>(CreditCard), MP4_CalebFontenot.<span class="ST4">addOddNumbersFromRightToLeft</span>(CreditCard));
<span class="literal">int</span> divisionResult = sumResult % 10;
<span class="literal">if</span> (<span class="ST2">debug</span>) {
System.<span class="ST2">out</span>.println(sumResult + <span class="string">&quot;</span><span class="string">, </span><span class="string">&quot;</span> + divisionResult);
}
<span class="literal">if</span> (divisionResult == 0) {
<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="comment">/**</span>
<span class="comment"> * </span><span class="ST0">Sum</span> <span class="ST0">the</span> <span class="ST0">results</span> <span class="ST0">from</span> <span class="ST0">Steps</span><span class="ST0"> 1, 2 </span><span class="ST0">and</span> <span class="ST0">Step</span><span class="ST0"> 3</span><span class="ST0">.</span><span class="comment"> 37 + 38 = 75</span>
<span class="comment"> *</span>
<span class="comment"> * </span><span class="ST0">@param</span> step1andSep2 <span class="comment">result</span> <span class="comment">form</span> <span class="comment">step</span><span class="comment"> 1 </span><span class="comment">and</span> <span class="comment">step</span><span class="comment"> 2</span>
<span class="comment"> * </span><span class="ST0">@param</span> step3 <span class="comment">result</span> <span class="comment">form</span> <span class="comment">step</span><span class="comment"> 3</span>
<span class="comment"> * </span><span class="ST0">@return</span>
<span class="comment">*/</span>
<span class="literal">public</span> <span class="literal">static</span> <span class="literal">int</span> <span class="ST3">sum</span>(<span class="literal">int</span> step1andStep2, <span class="literal">int</span> step3) {
<span class="literal">return</span> step1andStep2 + step3;
}
<span class="comment">/**</span>
<span class="comment"> * </span><span class="ST0">Add</span> <span class="ST0">all</span> <span class="ST0">digits</span> <span class="ST0">in</span> <span class="ST0">the</span> <span class="ST0">odd</span> <span class="ST0">places</span> <span class="ST0">from</span> <span class="ST0">right</span> <span class="ST0">to</span> <span class="ST0">left</span> <span class="ST0">in</span> <span class="ST0">the</span> <span class="ST0">card</span> <span class="ST0">number</span><span class="ST0">.</span><span class="comment"> 6 + 6 + 0 + 8 + 0 + 7 + 8 + 3 = 38</span>
<span class="comment"> *</span>
<span class="comment"> * </span><span class="ST0">@param</span><span class="comment"> -</span>creditCard <span class="comment">the</span> <span class="comment">credit</span> <span class="comment">card</span> <span class="comment">number</span> <span class="comment">to</span> <span class="comment">be</span> <span class="comment">processed</span><span class="comment">.</span>
<span class="comment"> * </span><span class="ST0">@return</span> <span class="comment">the</span> <span class="comment">sum</span> <span class="comment">of</span> <span class="comment">digits</span> <span class="comment">at</span> <span class="comment">odd</span> <span class="comment">position</span> <span class="comment">from</span> <span class="comment">right</span> <span class="comment">to</span> <span class="comment">left</span><span class="comment">.</span>
<span class="comment">*/</span>
<span class="literal">public</span> <span class="literal">static</span> <span class="literal">int</span> <span class="ST3">addOddNumbersFromRightToLeft</span>(String creditCard) {
<span class="literal">if</span> (<span class="ST2">debug</span>) {
System.<span class="ST2">out</span>.println(<span class="string">&quot;</span><span class="string">Now executing addOddNumbersFromRightToLeft()</span><span class="string">&quot;</span>);
}
<span class="comment">// Iterate through string</span>
<span class="literal">int</span> creditCardLength = creditCard.length();
<span class="literal">int</span> currentDigit, digitProduct, tensDigit, onesDigit, sum = 0;
<span class="comment">//System.out.println(creditCard.length());</span>
<span class="literal">for</span> (<span class="literal">int</span> i = (creditCardLength - 1); i &gt;= 0; i--) {
currentDigit = Character.<span class="ST4">getNumericValue</span>(creditCard.charAt(i)); <span class="comment">// Parses current digit as an integer so we can do math on it</span>
<span class="literal">if</span> (currentDigit % 2 != 0) { <span class="comment">// Is this number an odd number?</span>
sum += currentDigit;
<span class="literal">if</span> (<span class="ST2">debug</span>) {
System.<span class="ST2">out</span>.println(currentDigit);
System.<span class="ST2">out</span>.println(<span class="string">&quot;</span><span class="string">sum: </span><span class="string">&quot;</span> + sum);
}
}
}
<span class="literal">return</span> sum;
}
<span class="comment">/**</span>
<span class="comment"> * </span><span class="ST0">Double</span> <span class="ST0">every</span> <span class="ST0">second</span> <span class="ST0">digit</span> <span class="ST0">from</span> <span class="ST0">right</span> <span class="ST0">to</span> <span class="ST0">left</span><span class="ST0">.</span> <span class="comment">If</span> <span class="comment">doubling</span> <span class="comment">of</span> <span class="comment">a</span> <span class="comment">digit</span> <span class="comment">results</span> <span class="comment">in</span> <span class="comment">a</span> <span class="comment">two</span><span class="comment">-</span><span class="comment">digit</span> <span class="comment">number</span><span class="comment">, </span><span class="comment">add</span> <span class="comment">up</span> <span class="comment">the</span> <span class="comment">two</span> <span class="comment">digits</span> <span class="comment">to</span> <span class="comment">get</span> <span class="comment">a</span> <span class="comment">single</span><span class="comment">-</span><span class="comment">digit</span> <span class="comment">number</span><span class="comment">.</span><span class="comment"> 2 * 2 = 4 2 * 2 = 4 4 * 2 = 8 1 * 2 = 2 6 * 2 = 12 (1 + 2 = 3) 5 * 2 = 10 (1 + 0 = 1) 8 * 2 = 16 (1 + 6 = 7) 4 * 2 = 8 </span><span class="comment">Step</span><span class="comment"> 2 </span><span class="comment">Now</span> <span class="comment">add</span> <span class="comment">all</span> <span class="comment">single</span><span class="comment">-</span><span class="comment">digit</span> <span class="comment">numbers</span> <span class="comment">from</span> <span class="comment">Step</span><span class="comment"> 1</span><span class="comment">.</span><span class="comment"> 4 + 4 + 8 + 2 + 3 + 1 + 7 + 8 = 37</span>
<span class="comment"> *</span>
<span class="comment"> * </span><span class="ST0">@param</span><span class="comment"> -</span>creditCard <span class="comment">the</span> <span class="comment">credit</span> <span class="comment">card</span> <span class="comment">number</span> <span class="comment">to</span> <span class="comment">be</span> <span class="comment">processed</span><span class="comment">.</span>
<span class="comment"> * </span><span class="ST0">@return</span>
<span class="comment">*/</span>
<span class="literal">public</span> <span class="literal">static</span> <span class="literal">int</span> <span class="ST3">doubleDigitsAndSumSingleDigits</span>(String creditCard) {
<span class="literal">if</span> (<span class="ST2">debug</span>) {
System.<span class="ST2">out</span>.println(<span class="string">&quot;</span><span class="string">Now executing doubleDigitsAndSumSingleDigits()</span><span class="string">&quot;</span>);
}
<span class="comment">// Iterate through string</span>
<span class="literal">int</span> creditCardLength = creditCard.length();
<span class="literal">int</span> currentDigit, digitProduct, tensDigit, onesDigit, sum = 0;
<span class="comment">//System.out.println(creditCard.length());</span>
<span class="literal">for</span> (<span class="literal">int</span> i = (creditCardLength - 1); i &gt;= 0; i--) {
<span class="literal">if</span> (i % 2 == 0) {
currentDigit = Character.<span class="ST4">getNumericValue</span>(creditCard.charAt(i)); <span class="comment">// Parses current digit as an integer so we can do math on it</span>
<span class="literal">if</span> (<span class="ST2">debug</span>) {
System.<span class="ST2">out</span>.println(<span class="string">&quot;</span><span class="string">current digit: </span><span class="string">&quot;</span> + currentDigit);
}
digitProduct = currentDigit * 2;
<span class="literal">if</span> (digitProduct &gt; 9) { <span class="comment">// Product is larger than 9. Typecast the integer back into a string so we can seperate the digits and add them together.</span>
String workingString = Integer.<span class="ST4">toString</span>(digitProduct);
tensDigit = Character.<span class="ST4">getNumericValue</span>(workingString.charAt(0));
onesDigit = Character.<span class="ST4">getNumericValue</span>(workingString.charAt(1));
<span class="literal">if</span> (<span class="ST2">debug</span>) {
System.<span class="ST2">out</span>.println(<span class="string">&quot;</span><span class="string">tensDigit is </span><span class="string">&quot;</span> + tensDigit);
System.<span class="ST2">out</span>.println(<span class="string">&quot;</span><span class="string">onesDigit is </span><span class="string">&quot;</span> + onesDigit);
}
digitProduct = (tensDigit + onesDigit);
}
sum += digitProduct;
}
}
<span class="literal">if</span> (<span class="ST2">debug</span>) {
System.<span class="ST2">out</span>.println(<span class="string">&quot;</span><span class="string">The sum is: </span><span class="string">&quot;</span> + sum);
}
<span class="literal">return</span> sum;
}
<span class="comment">/**</span>
<span class="comment"> * </span><span class="ST0">Displays</span> <span class="ST0">Q</span><span class="ST0">/</span><span class="ST0">q</span> <span class="ST0">or</span> <span class="ST0">C</span><span class="ST0">/</span><span class="ST0">c</span><span class="ST0">.</span> <span class="comment">If</span> <span class="comment">the</span> <span class="comment">user</span> <span class="comment">enters</span> <span class="comment">C</span><span class="comment">, </span><span class="comment">it</span> <span class="comment">read</span> <span class="comment">the</span> <span class="comment">credit</span> <span class="comment">number</span> <span class="comment">and</span> <span class="comment">returns</span> <span class="comment">it</span> <span class="comment">as</span> <span class="comment">String</span><span class="comment">.</span> <span class="comment">If</span> <span class="comment">the</span> <span class="comment">user</span> <span class="comment">types</span> <span class="comment">Q</span><span class="comment">/</span><span class="comment">q</span> <span class="comment">returns</span><span class="comment"> 0</span>
<span class="comment"> *</span>
<span class="comment"> * </span><span class="ST0">@return</span> <span class="comment">a</span> <span class="comment">string</span> <span class="comment">with</span> <span class="comment">credit</span> <span class="comment">card</span> <span class="comment">number</span> <span class="comment">or</span><span class="comment"> 0</span><span class="comment">.</span>
<span class="comment">*/</span>
<span class="literal">public</span> <span class="literal">static</span> String <span class="ST3">menu</span>() {
String userInput = <span class="string">&quot;&quot;</span>;
Scanner input = <span class="literal">new</span> Scanner(System.<span class="ST2">in</span>);
<span class="literal">while</span> (!userInput.equals(<span class="string">&quot;</span><span class="string">0</span><span class="string">&quot;</span>))<span class="comment">//user has not entered Q/q</span>
{
System.<span class="ST2">out</span>.println(<span class="string">&quot;</span><span class="string">Press Q/q to quit</span><span class="string">&quot;</span>);
System.<span class="ST2">out</span>.println(<span class="string">&quot;</span><span class="string">Press C/c to enter a credit card</span><span class="string">&quot;</span>);
userInput = input.next();
<span class="literal">if</span> (userInput.equalsIgnoreCase(<span class="string">&quot;</span><span class="string">q</span><span class="string">&quot;</span>)) {
userInput = <span class="string">&quot;</span><span class="string">0</span><span class="string">&quot;</span>;
}
<span class="literal">if</span> (userInput.equalsIgnoreCase(<span class="string">&quot;</span><span class="string">c</span><span class="string">&quot;</span>)) {
System.<span class="ST2">out</span>.print(<span class="string">&quot;</span><span class="string">Please enter a credit card number: </span><span class="string">&quot;</span>);
userInput = input.next();
<span class="literal">break</span>;
}
}
<span class="literal">return</span> userInput;
}
<span class="comment">/**</span>
<span class="comment"> *</span>
<span class="comment"> * </span><span class="ST0">@param</span> args
<span class="comment">*/</span>
<span class="literal">public</span> <span class="literal">static</span> <span class="literal">void</span> <span class="ST3">main</span>(String[] args) {
<span class="comment">//String sampleCreditCard = &quot;4388576018410707&quot;;</span>
String userInput = <span class="ST4">menu</span>();
<span class="literal">if</span> (userInput == <span class="string">&quot;</span><span class="string">0</span><span class="string">&quot;</span>) { <span class="comment">// Stop program execution if credit card not entered</span>
System.<span class="ST2">out</span>.println(<span class="string">&quot;</span><span class="string">Credit card not entered!</span><span class="string">&quot;</span>);
System.<span class="ST4">exit</span>(0);
}
<span class="literal">boolean</span> creditCardValidity = MP4_CalebFontenot.<span class="ST4">isValid</span>(userInput);
String validityString;
<span class="literal">if</span> (creditCardValidity) {
validityString = <span class="string">&quot;</span><span class="string">valid</span><span class="string">&quot;</span>;
} <span class="literal">else</span> {
validityString = <span class="string">&quot;</span><span class="string">invalid</span><span class="string">&quot;</span>;
}
System.<span class="ST2">out</span>.println(<span class="string">&quot;</span><span class="string">The credit card </span><span class="string">&quot;</span> + userInput + <span class="string">&quot;</span><span class="string"> is </span><span class="string">&quot;</span> + validityString);
}
}
</pre></body>
</html>

@ -149,7 +149,7 @@ public class MP4_CalebFontenot {
*/ */
public static void main(String[] args) { public static void main(String[] args) {
String sampleCreditCard = "4388576018410707"; //String sampleCreditCard = "4388576018410707";
String userInput = menu(); String userInput = menu();
if (userInput == "0") { // Stop program execution if credit card not entered if (userInput == "0") { // Stop program execution if credit card not entered
System.out.println("Credit card not entered!"); System.out.println("Credit card not entered!");

@ -0,0 +1,38 @@
/*
* 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 lab15_calebfontenot;
/**
*
* @author caleb
*/
public class Array5 {
public static void main(String[] args)
{
String[] alphaBetics = new String[5];
final int NAME_SIZE = 20;
//print the array that has all nulls
for (int i = 0; i < alphaBetics.length; i++) {
System.out.println(alphaBetics[i]);
}
//init the array to character numbers
for (int i = 0; i < alphaBetics.length; i++) {
alphaBetics[i] = "index " + Integer.toString(i) + " ";
}
//append to the array 20 random alphabetic characters
for (int i = 0; i < alphaBetics.length; i++) {
for (int j = 0; j < NAME_SIZE; j++) {
alphaBetics[i] += (char) (65 + Math.random() * 26);
}
}
//print the array again
for (int i = 0; i < alphaBetics.length; i++) {
System.out.println(alphaBetics[i]);
}
}
}

@ -0,0 +1,57 @@
/*
* 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 lab15_calebfontenot;
/**
*
* @author caleb
*/
public class Array6 {
public static void main(String[] args)
{
String[] alphaBetics = new String[10];
final int NAME_SIZE = 3;
/*
//print the array that has all nulls
for (int i = 0; i < alphaBetics.length; i++) {
System.out.println(alphaBetics[i]);
}
*/
//init the array to character numbers
for (int i = 0; i < alphaBetics.length; i++) {
alphaBetics[i] = "";
}
//append to the array 20 random alphabetic characters
for (int i = 0; i < alphaBetics.length; i++) {
for (int j = 0; j < NAME_SIZE; j++) {
alphaBetics[i] += (char) (97 + Math.random() * 26);
}
}
//print the array
for (int i = 0; i < alphaBetics.length; i++) {
System.out.println(alphaBetics[i]);
}
System.out.println();
// Reverse each string in the array
String tmp = "";
for (int i = 0; i < alphaBetics.length; i++) {
tmp = "";
int stringLength = alphaBetics[i].length();
for (int j = 0; j < stringLength; j++) {
char currentChar = alphaBetics[i].charAt(j);
tmp = currentChar + tmp;
}
alphaBetics[i] = tmp;
}
for (int i = 0; i < alphaBetics.length; i++) {
System.out.println(alphaBetics[i]);
}
}
}

@ -0,0 +1,60 @@
/*
* 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 lab15_calebfontenot;
import java.util.Scanner;
/**
*
* @author caleb
*/
public class Array7 {
public static int getLargest(int[] a, int total)
{
int temp;
for (int i = 0; i < total; i++) {
for (int j = i + 1; j < total; j++) {
if (a[i] > a[j]) {
temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
return (total - 1);
}
public static void main(String[] args)
{
// Create array
int numArray[] = new int[5];
int i = 0;
// Scanner
Scanner input = new Scanner(System.in);
//Prompt for input
do {
System.out.print("Enter 5 numbers between the range of 10 to 20: ");
numArray[i] = input.nextInt();
i++;
} while (i < 5);
// Print the array
for (int j = 0; j < numArray.length; j++) {
System.out.println(numArray[j]);
}
// Find the maximum
System.out.println("The largest item in the array is: " + getLargest(numArray, numArray.length));
int index = 0;
for (int j = 0; j < numArray.length; j++) {
if(numArray[j] == getLargest(numArray, numArray.length)) {
index = j;
}
}
System.out.println("it is the " + (index + 1) + "th item in the array");
}
}

@ -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>lab16_arrays2_CalebFontenot</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<exec.mainClass>com.calebfontenot.lab16_arrays2_calebfontenot.Lab16_arrays2_CalebFontenot</exec.mainClass>
</properties>
</project>

@ -0,0 +1,26 @@
/*
* 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.lab16_arrays2_calebfontenot;
/**
*
* @author caleb
*/
public class ArrayShift1 {
public static void main(String[] args)
{
int[] ar = {1, 2, 3, 4, 5};
int temp = ar[0];
for (int i = 1; i < ar.length; ++i) {
ar[i-1] = ar[i];
ar[ar.length - 1] = temp;
for (int value: ar) {
System.out.println(value + " ");
}
}
}
}

@ -0,0 +1,17 @@
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/Project/Maven2/JavaApp/src/main/java/${packagePath}/${mainClassName}.java to edit this template
*/
package com.calebfontenot.lab16_arrays2_calebfontenot;
/**
*
* @author caleb
*/
public class Lab16_arrays2_CalebFontenot {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}

Binary file not shown.