diff --git a/Bulletproof.java b/Bulletproof.java new file mode 100644 index 0000000..0b81876 --- /dev/null +++ b/Bulletproof.java @@ -0,0 +1,243 @@ +/* + * 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. + */ +package bulletproof; +import java.util.Scanner; +/** + * PROGRAM: Bulletproof Hands-On Test + * PURPOSE: To test proficiency in Java coding + * and to have user enter two numbers and choose + * a mathematical operator and have that operation performed + * BY: DAVID YIRCHOTT + * FOR: MR. THOMAS + * @author David + */ +public class Bulletproof { + + /** + * @param args the command line arguments + */ + public static void main(String[] args) { + /**set up keyboard as input */ + Scanner kb = new Scanner(System.in); + boolean error = false; + double Num1 = 0, Num2 = 0; + + /** + * Setup a do-while loop to re-ask for input after invalidation. + * It is set up to do while error == true + */ + do{ + /**Tell user how this is going to work */ + System.out.println("Please input the first of two numbers, then you will be asked to enter an operator (+, -, *, /)"); + System.out.println("Alternately, enter both numbers now separated by a space\n"); + /**create string from next keyboard input*/ + String number1 = kb.next(); + /* set/reset boolean flag for controlling error message overflow and controlling do-while loop*/ + error = false; + int decimals = 0; //used to count decimal points below + + /** Test for digits and decimals -- each item is retrieved from the String as a char + * first, check for multiple decimal points + * go char by char through number1, for each '.' increment decimals accumulator, if there are + * at least two, make error = true. If error == true, display too many decimals + * message once. + */ + for (int i=0; i < number1.length(); i++){ + if (number1.charAt(i) == '.'){ + decimals++; + if(decimals == 2){ + error = true; + } + } + } + + if (error == true){ + System.out.println("\nERROR: Too many decimals in your first number"); + + } + + /** + * Check to see if a negative number was entered by checking if the first char is a '-'. If so, change the + * search parameters from z=0 to z=1. + * + * Then prevent letters and other characters from showing up + * Similar to above, go char by char to check string number1. If a char is not a digit + * and is not a decimal point (we've already checked for too many of those above) + * then display error message and pinpoint the position number of the incorrect + * character within the string, starting from the far left. If an error is found, + * set error = true to prevent the string from being parsed in the next step. + */ + + if(number1.charAt(0) == '-' || number1.charAt(0) == '+'){ //if the first character is a negative or positive sign don't check it + for(int z = 1; z < number1.length(); z++) { //check all other characters for validity + if (!Character.isDigit(number1.charAt(z)) && (number1.charAt(z)) != '.') { + + System.out.println("\nERROR: Character " + (z + 1) + " in your first entry is not a digit or decimal."); + error = true; + } + } + + + } + else{ //if the first character is not a negative or positive sign + for(int z = 0; z < number1.length(); z++) { //check all characters for validity + if (!Character.isDigit(number1.charAt(z)) && (number1.charAt(z)) != '.') { + + System.out.println("\nERROR: Character " + (z + 1) + " in your first entry is not a digit or decimal."); + error = true; + } + } + + } + /**If error == false then convert the string to a double named Num1 and + * display confirmation to the user + */ + + if(error == false){ + Num1 = Double.parseDouble(number1); + + System.out.println("Thank you!"); //The first number is " + Num1); + + } + //otherwise, please try again + else { + System.out.println("Please try again\n"); + } + + }while(error == true);// If there is an error, restart the do-while loop + + /** + * Set up another do-while loop for the second number to re-ask for input after invalidation + * This one is also set up as do while error == true + */ + + do{ + /**Tell user how this is going to work */ + System.out.println("\nYour first number is " + Num1 +". Please input the second number, then you will be asked to enter an operator (+, -, *, /)"); + + /**create string from next keyboard input*/ + String number2 = kb.next(); + /**reset error flag inside loop for string number2 for controlling + * error message overflow and controlling do-while loop*/ + error = false; + int decimals = 0; //used to count decimal points below + + + /** Test for digits and decimals -- As above, each item is retrieved from the String as a char + * first, check for multiple decimal points + * go char by char through number2, for each '.' increment decimals accumulator, if there are + * at least two, make error = true. If error == true, display too many decimals + * message once. + */ + for (int j=0; j < number2.length(); j++){ + if (number2.charAt(j) == '.'){ + decimals++; + if(decimals == 2){ + error = true; + } + } + } + + if (error == true){ + System.out.println("\nERROR: Too many decimals in your second number"); + + } + + + /* Check to see if a negative number was entered by checking if the first char is a '-'. If so, change the + * search parameters from n=0 to n=1. + * + * Then prevent letters and other characters from showing up + * Similar to above, go char by char to check string number1. If a char is not a digit + * and is not a decimal point (we've already checked for too many of those above) + * then display error message and pinpoint the position number of the incorrect + * character within the string, starting from the far left. If an error is found, + * set error = true to prevent the string from being parsed in the next step. + */ + + if(number2.charAt(0) == '-' || number2.charAt(0) == '+'){ //if the first character is a negative or positive sign don't check it + for(int n = 1; n < number2.length(); n++) { //check all other characters for validity + if (!Character.isDigit(number2.charAt(n)) && (number2.charAt(n)) != '.') { + + System.out.println("\nERROR: Character " + (n + 1) + " in your second entry is not a digit or decimal."); + error = true; + } + } + + + } + else{ //if the first character is not a negative or positive sign + for(int n = 0; n < number2.length(); n++) { //check all characters for validity + if (!Character.isDigit(number2.charAt(n)) && (number2.charAt(n)) != '.') { + + System.out.println("\nERROR: Character " + (n + 1) + " in your second entry is not a digit or decimal."); + error = true; + } + } + + } + /**If error == false then convert the string to a double named Num2 and + * display confirmation to the user + */ + + if(error == false){ + Num2 = Double.parseDouble(number2); + + System.out.println("\nThank you! Your first number is " + Num1 + " and your second number is " + Num2 + "."); + } + else { //otherwise, please try again + System.out.println("Please try again"); + } + + + }while(error == true); //If there is an error, restart the do=while loop + + /** + * A switch statement for selecting a mathematical operator is next. + *Display instructions and accept input into variable then run through switch statement + * repeat if necessary. do while error == true + */ + + do{ + System.out.println("\nPlease select one of the following operators: +, -, *, /"); + error = false; + char operator = kb.next().charAt(0); + + /**Added printf and %f formatting below. This keeps the results more predictable and accurate. The answers will stretch 6 spaces + * after the decimal point before rounding, if necessary. The numbers before the decimal will automatically + * fit in that space. + * The SWITCH statement allows for distinct choices of operators. Anything that doesn't match falls through to the default, + * which re-runs the do-while loop (asking for the user to choose an operator) after an error message. + */ + + switch (operator) + { + case '+': + System.out.printf("\nYou selected '+'. " + Num1 + " + " + Num2 + " = %f \n",(Num1 + Num2)); + break; + + case '-': + System.out.printf("\nYou selected '-'. " + Num1 + " - " + Num2 + " = %f \n",(Num1 - Num2)); + break; + + case '*': + System.out.printf("\nYou selected '*'. " + Num1 + " * " + Num2 + " = %f \n",(Num1 * Num2)); + break; + + case '/': + System.out.printf("\nYou selected '/'. " + Num1 + " / " + Num2 + " = %f \n",(Num1 / Num2)); + break; + + default: + System.out.println("\nYou selected an invalid character"); + error = true; + break; + } + + }while(error == true); + +} +} \ No newline at end of file diff --git a/css/resume_style.css b/css/resume_style.css new file mode 100644 index 0000000..a705e52 --- /dev/null +++ b/css/resume_style.css @@ -0,0 +1,11 @@ +body { + background-color: white; + width: 80%; + box-align: center; +} + + +object { + height: 100vh; + width: 100vh; +} diff --git a/css/style.css b/css/style.css index d17d83a..bd3221f 100644 --- a/css/style.css +++ b/css/style.css @@ -1,9 +1,55 @@ -body { - background-color: navy; +#column1 { + max-width: calc(100% - 10.3em); + margin-top: 10px; + min-width: 1%; + margin-left: 8px; + +} + +#column2 { + position: absolute; + float: left; + margin-left: calc(98% - 13.2em); + min-width: 12.8em; + max-width: 12.8em; + height: 170%; +} + +.identifier { + font-style: italic; + display: flex; + justify-content: space-between; +} + +.educationListing { + font-weight: bold; + display: flex; + justify-content: space-between; +} + +#center { + margin-left: auto; + margin-right: auto; } -object { - height: 100vh; - width: 100vh; +.circle-pic { + /* make it responsive */ + max-width: 100%; + width:100%; + height:auto; + display:block; + /* height to be the same as width*/ + padding-top:100%; + + /* make it a circle */ + border-radius:50%; + + /* Centering on image`s center*/ + background-position-y: center; + background-position-x: center; + background-repeat: no-repeat; + + + background-size: cover; } diff --git a/daveBW.png b/daveBW.png new file mode 100644 index 0000000..7fa64b2 Binary files /dev/null and b/daveBW.png differ diff --git a/img/github.png b/img/github.png new file mode 100644 index 0000000..dd71972 Binary files /dev/null and b/img/github.png differ diff --git a/img/linkedin.png b/img/linkedin.png new file mode 100644 index 0000000..4c52de7 Binary files /dev/null and b/img/linkedin.png differ diff --git a/img/pdf.png b/img/pdf.png new file mode 100644 index 0000000..66f1788 Binary files /dev/null and b/img/pdf.png differ diff --git a/index.html b/index.html index 4dc0c72..b4774f2 100644 --- a/index.html +++ b/index.html @@ -1,57 +1,105 @@ - - - - - - - - - - - - - - - - + + + + + + + - - - + +
+
+
+ +
+

Summary

+ Results-oriented computer technology graduate (3.96 GPA) with a programmming specialization aiming to leverage object-oriented programming experience; a background in online media; and proven communication, critical-thinking, and problem-solving skills to join a professional environment with growth potential. A conscientious quick-learner frequently praised as hard-working by peers who can be relied upon to achieve personal and organizational goals. +
+ +
+

Education and Training

+ Per Scholas Bootcamp Charlotte, NC + Presently enrolled June 2020 +
    +
  • 14-week online Java Application Development course
  • +
  • Experience will be gained in everything from Agile methodology to HTML, CSS, Javascript, Java, testing, and more
  • +
  • Full-stack development project due at the end
  • +
+ + York Technical College Rock Hill, SC + Associate of Applied Science (A.A.S.) Computer Technology, Programming Specialization Dec. 2019 +
    +
  • GPA: 3.96
  • +
  • Relevant Courses: Java Programming, Java Programming II, C# Programming, C# Programming II, Internet Programming, Database, Relational Database, Data Structures, Systems and Procedures, Programming Logic and Design, Hardware Basics and Operating Systems
  • +
  • Awards and Honors: NASA Community College Aerospace Scholars - 2019; President's List - Fall 2017, Fall 2018, Spring 2019, Fall 2019; Dean's List - Spring 2018; Phi Theta Kappa Honor Society - 2018-2019, graduated magna cum laude
  • +
+ + Columbia College Chicago Chicago, IL + Completed coursework toward a B.A. in Film/Video May 1996
+ + Grand Valley State University Allendale, MI + Completed coursework toward a B.A. in Film/Video Dec. 1994 +
+
+ +
+

Skills

+
    +
  • Java, C#, SQL, HTML5, CSS3, Javascript, jQuery, GitHub, Microsoft Office Suite
  • +
+
+ +
+

Experience

+ I bring nearly 20 years of leading, developing, and working in teams from a career in the digital side of local television stations across the country. My journalistic instincts keep me curious, my editing experience has made me thorough, my communication skills have strengthemed my interpersonal interactions, my leadership skills help me collaborate effectively, and my schooling in technology has reinforced my logical thinking. View my LinkedIn profile to see my work history.
+
+
+ +
+ + + + + + + + + + + + + +
David Yirchott
Full-Stack Developer in Training
+ Java, C#, SQL, HTML, CSS
dyirchott@hotmail.com
+ Phone: (404) 295-4927 +

+

LinkedIn + GitHub + Resume

+
+
+
- - The quickest of brown foxes. - - - - - - - - - - - \ No newline at end of file diff --git a/resume.html b/resume.html new file mode 100644 index 0000000..6cc342e --- /dev/null +++ b/resume.html @@ -0,0 +1,192 @@ + + + + + + + + + + + + + + + +

+

+

Summary

+ Results-oriented computer technology graduate (3.96 GPA) with a programmming specialization aiming to leverage object-oriented programming experience; a background in online media; and proven communication, critical-thinking, and problem-solving skills to join a professional environment with growth potential. A conscientious quick-learner frequently praised as hard-working by peers who can be relied upon to achieve personal and ortganizational goals. +
+

+

+

Education

+ York Technical College Rock Hill, SC
+ Associate of Applied Science (A.A.S.) Computer Technology, Programming Specialization Dec. 2019 + +

+ Columbia College Chicago Chicago, IL
+ Completed coursework toward a B.A. in Film/Video May 1996 +

+

+ Grand Valley State University Allendale, MI
+ Completed coursework toward a B.A. in Film/Video Dec. 1994 +

+
+

+ +

+

+

Skills

+ +
+

+ +

+

+

Work Experience

+

+ Outback Steakhouse Rock Hill, SC
+ Server Aug 2017 – Present +

+

+ +

+ York Technical College Rock Hill, SC
+ Intern Aug 2019 – Dec 2019 +

+

+ +

+ Gold Canyon Golf Resort Gold Canyon, AZ
+ Server Dec 2016 – Jun 2017 +

+

+ +

+ 12 News/KPNX-TV Phoenix, AZ
+ Digital Producer Mar 2015 – Jul 2016 +

+

+ +

+ CBS46/WGCL-TV Atlanta, GA
+ Digital Content Manager Sep 2013 – Feb 2015 +

+

+ +

+ 10News/KGTV-TV San Diego, CA
+ Digital Director Apr 2012 – Apr 2013 +

+

+ +

+ Managing Editor, 10News.com Sep 2007 – Apr 2012 +

+

+ +

+ CBS Digital Media Group New York, NY
+ National Web Producer Mar 2006 – May 2007 +

+

+ +

+ CBS2Chicago/WBBM-TV Chicago, IL
+ Web Producer Mar 2005 – Mar 2006 +

+

+ +

+ KRON4/KRON-TV San Francisco, CA
+ Senior Internet Content Producer Apr 2003 – Mar 2005 +

+

+ +

+ Internet Content Producer Oct 2001 – Apr 2003 +

+

+ +

+ WOODTV8/WOOD-TV Grand Rapids, MI
+ Website Coordinator Apr 1998 – Oct 2001 +

+

+ +

Chyron Operator Apr 1997 – Apr 1998 +

+

+ +

+ WGVU/WGVK-TV Grand Rapids, MI
+ Various Mar 1992 – Mar 1997 +

+

+
+

+ + + + + + + + + + \ No newline at end of file