GOAL: Learn how to call methods
/// Name: Cornelius Eanes /// Period: 5 /// Program Name: Picture Menu /// File Name: PictureMenu.java /// Date Finished: Feb 19, 2016 import java.util.Scanner; public class PictureMenu { public static void main( String[] args ) { Scanner kb = new Scanner(System.in); int choice; System.out.println( "1. Butterfly " ); System.out.println( "2. Elephant " ); System.out.println( "3. Teddy Bear" ); System.out.println( "4. Snake " ); System.out.print( "\nWhich animal to draw? " ); choice = kb.nextInt(); System.out.println(); if ( choice == 1 ) { butterfly(); butterfly(); // the method is ran twice, rather, the code in that method is ran twice } else if ( choice == 2 ) { elephant(); } else if ( choice == 3 ) { teddybear(); } else if ( choice == 4 ) { snake(); } else { System.out.println( "Sorry, that wasn't one of the choices." ); } System.out.println( "\nGoodbye!" ); } public static void butterfly() { System.out.println(" .==-. .-==. "); System.out.println(" \\()8`-._ `. .' _.-'8()/ "); System.out.println(" (88\" ::. \\./ .:: \"88) "); System.out.println(" \\_.'`-::::.(#).::::-'`._/ "); System.out.println(" `._... .q(_)p. ..._.' "); System.out.println(" \"\"-..-'|=|`-..-\"\" "); System.out.println(" .\"\"' .'|=|`. `\"\". "); System.out.println(" ,':8(o)./|=|\\.(o)8:`. "); System.out.println(" (O :8 ::/ \\_/ \\:: 8: O) "); System.out.println(" \\O `::/ \\::' O/ "); System.out.println(" \"\"--' `--\"\" hjw"); } public static void elephant() { System.out.println(" _..--\"\"-. .-\"\"--.._ "); System.out.println(" _.-' \\ __...----...__ / '-._"); System.out.println(" .' .:::...,' ',...:::. '."); System.out.println("( .'``'''::; ;::'''``'. )"); System.out.println(" \\ '-) (-' /"); System.out.println(" \\ / \\ /"); System.out.println(" \\ .'.-. .-.'. /"); System.out.println(" \\ | \\0| |0/ | /"); System.out.println(" | \\ | .-==-. | / |"); System.out.println(" \\ `/`; ;`\\` /"); System.out.println(" '.._ (_ | .-==-. | _) _..'"); System.out.println(" `\"`\"-`/ `/' '\\` \\`-\"`\"`"); System.out.println(" / /`; .==. ;`\\ \\"); System.out.println(" .---./_/ \\ .==. / \\ \\"); System.out.println(" / '. `-.__) | `\""); System.out.println(" | =(`-. '==. ;"); System.out.println(" jgs \\ '. `-. /"); System.out.println(" \\_:_) `\"--.....-'"); } public static void teddybear() { System.out.println(" ___ .--. "); System.out.println(" .--.-\" \"-' .- |"); System.out.println(" / .-,` .'"); System.out.println(" \\ ` \\"); System.out.println(" '. ! \\"); System.out.println(" | ! .--. |"); System.out.println(" \\ '--' /.____"); System.out.println(" /`-. \\__,'.' `\\"); System.out.println(" __/ \\`-.____.-' `\\ /"); System.out.println(" | `---`'-'._/-` \\----' _"); System.out.println(" |,-'` / | _.-' `\\"); System.out.println(" .' / |--'` / |"); System.out.println(" / /\\ ` | |"); System.out.println(" | .\\/ \\ .--. __ \\ |"); System.out.println(" '-' '._ / `\\ /"); System.out.println(" jgs `\\ ' |------'`"); System.out.println(" \\ | |"); System.out.println(" \\ /"); System.out.println(" '._ _.'"); System.out.println(" ``"); } public static void snake() { System.out.println(" ,,'6''-,."); System.out.println(" <====,.;;--."); System.out.println(" _`---===. \"\"\"==__"); System.out.println(" //\"\"@@-\\===\\@@@@ \"\"\\\\"); System.out.println(" |( @@@ |===| @@@ ||"); System.out.println(" \\\\ @@ |===| @@ //"); System.out.println(" \\\\ @@ |===|@@@ //"); System.out.println(" \\\\ |===| //"); System.out.println("___________\\\\|===| //_____,----\"\"\"\"\"\"\"\"\"\"-----,_"); System.out.println(" \"\"\"\"---,__`\\===`/ _________,---------,____ `,"); System.out.println(" |==|| `\\ \\"); System.out.println(" |==| | pb ) |"); System.out.println(" |==| | _____ ______,--' '"); System.out.println(" |=| `----\"\"\" `\"\"\"\"\"\"\"\" _,-'"); System.out.println(" `=\\ __,---\"\"\"-------------\"\"\"''"); System.out.println(" \"\"\"\" "); } }
GOAL: Learn what methods do.
/// Name: Cornelius Eanes /// Period: 5 /// Program Name: PROGRAM_NAME /// File Name: FlickerPhrase.java /// Date Finished: Feb 19, 2016 import java.util.Random; public class FlickerPhrase { public static void main( String[] args ) throws Exception { Random rng = new Random(); int r; for ( int i=0; i<100000; i++ ) { r = 1 + rng.nextInt(5) + 1; // Write five if statements here. // If r is 1, then call the method named 'first'. // If r is 2, then call the method named 'second', and so on. if (r == 1) { first(); } else if (r == 2) { second(); } else if (r == 3) { third(); } else if (r == 4) { fourth(); } else if (r == 5) { fifth(); } //Thread.sleep(1000); // Optional: after the if statements are over, add in a slight delay. } System.out.println("I pledge allegiance to the flag."); } public static void first() { System.out.print("I \r"); } public static void second() { System.out.print(" pledge \r"); } public static void third() { System.out.print(" allegiance \r"); } public static void fourth() { System.out.print(" to the \r"); } public static void fifth() { System.out.print(" flag.\r"); } }
GOAL: Use a method that has a return value.
/// Name: Cornelius Eanes /// Period: 5 /// Program Name: Heron's Formula /// File Name: HeronsForumula.java /// Date Finished: Feb 19, 2016 public class HeronsFormula { public static void main( String[] args ) { double a; a = triangleArea(3, 3, 3); System.out.println("A triangle with sides 3,3,3 has an area of " + a ); a = triangleArea(3, 4, 5); System.out.println("A triangle with sides 3,4,5 has an area of " + a ); a = triangleArea(7, 8, 9); System.out.println("A triangle with sides 7,8,9 has an area of " + a ); System.out.println("A triangle with sides 5,12,13 has an area of " + triangleArea(5, 12, 13) ); System.out.println("A triangle with sides 10,9,11 has an area of " + triangleArea(10, 9, 11) ); System.out.println("A triangle with sides 8,15,17 has an area of " + triangleArea(8, 15, 17) ); System.out.println("A triangle with sides 9,9,9 has an area of " + triangleArea(9, 9, 9)); } public static double triangleArea( int a, int b, int c ) { // the code in this method computes the area of a triangle whose sides have lengths a, b, and c double s, A; s = (a+b+c) / 2.0; A = Math.sqrt( s*(s-a)*(s-b)*(s-c) ); return A; // ^ after computing the area, "return" it } /* * Both code snippets return the same results. * The class with the extra method is 23 lines long (with whitespace and comments removed). * The class without the extra method is 44 lines long (with whitespace and comments removed). * It was easier to fix the file with the method, as I only had to change one value. * It was easier to add to the class with the method, as I only needed one line of code. */ }
GOAL: Use a method to easily calculate the distance formula.
/// Name: Cornelius Eanes /// Period: 5 /// Program Name: Distance Formula /// File Name: DistanceFormula.java /// Date Finished: Feb 19, 2016 public class DistanceFormula { public static void main( String[] args ) { // test the formula a bit double d1 = distance(-2,1 , 1,5); System.out.println(" (-2,1) to (1,5) => " + d1 ); double d2 = distance(-2,-3 , -4,4); System.out.println(" (-2,-3) to (-4,4) => " + d2 ); System.out.println(" (2,-3) to (-1,-2) => " + distance(2,-3,-1,-2) ); System.out.println(" (4,5) to (4,5) => " + distance(4,5,4,5) ); } public static double distance( int x1, int y1, int x2, int y2 ) { return Math.sqrt((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1)); } }
GOAL: Using a method, figure out what month it is.
/// Name: Cornelius Eanes /// Period: 5 /// Program Name: PROGRAM_NAME /// File Name: MonthName.java /// Date Finished: Feb 19, 2016 public class MonthName { public static String monthName( int month ) { String result; // Your code goes in here. if (month == 1) { result = "January"; } else if (month == 2) { result = "February"; } else if (month == 3) { result = "March"; } else if (month == 4) { result = "April"; } else if (month == 5) { result = "May"; } else if (month == 6) { result = "June"; } else if (month == 7) { result = "July"; } else if (month == 8) { result = "August"; } else if (month == 9) { result = "September"; } else if (month == 10) { result = "October"; } else if (month == 11) { result = "November"; } else if (month == 12) { result = "December"; } else { result = "error"; } return result; } public static void main( String[] args ) { System.out.println( "Month 1: " + monthName(1) ); System.out.println( "Month 2: " + monthName(2) ); System.out.println( "Month 3: " + monthName(3) ); System.out.println( "Month 4: " + monthName(4) ); System.out.println( "Month 5: " + monthName(5) ); System.out.println( "Month 6: " + monthName(6) ); System.out.println( "Month 7: " + monthName(7) ); System.out.println( "Month 8: " + monthName(8) ); System.out.println( "Month 9: " + monthName(9) ); System.out.println( "Month 10: " + monthName(10) ); System.out.println( "Month 11: " + monthName(11) ); System.out.println( "Month 12: " + monthName(12) ); System.out.println( "Month 43: " + monthName(43) ); } }
GOAL: Using a method, figure out a month's offset when calculating the weekday.
/// Name: Cornelius Eanes /// Period: 5 /// Program Name: PROGRAM_NAME /// File Name: MonthOffset.java /// Date Finished: Feb 19, 2016 public class MonthOffset { public static int monthOffset( int m ) { int result; // Your code goes in here. if (m == 1) { result = 1; } else if (m == 2) { result = 4; } else if (m == 3) { result = 4; } else if (m == 4) { result = 0; } else if (m == 5) { result = 2; } else if (m == 6) { result = 5; } else if (m == 7) { result = 0; } else if (m == 8) { result = 3; } else if (m == 9) { result = 6; } else if (m == 10) { result = 1; } else if (m == 11) { result = 4; } else if (m == 12) { result = 6; } else { result = -1; } return result; } public static void main( String[] args ) { System.out.println( "Offset for month 1: " + monthOffset(1) ); System.out.println( "Offset for month 2: " + monthOffset(2) ); System.out.println( "Offset for month 3: " + monthOffset(3) ); System.out.println( "Offset for month 4: " + monthOffset(4) ); System.out.println( "Offset for month 5: " + monthOffset(5) ); System.out.println( "Offset for month 6: " + monthOffset(6) ); System.out.println( "Offset for month 7: " + monthOffset(7) ); System.out.println( "Offset for month 8: " + monthOffset(8) ); System.out.println( "Offset for month 9: " + monthOffset(9) ); System.out.println( "Offset for month 10: " + monthOffset(10) ); System.out.println( "Offset for month 11: " + monthOffset(11) ); System.out.println( "Offset for month 12: " + monthOffset(12) ); System.out.println( "Offset for month 43: " + monthOffset(43) ); } }
GOAL: Using previous methods, calculate what weekday you were born on.
/// Name: Cornelius Eanes /// Period: 5 /// Program Name: Weekday Calculator /// File Name: WeekdayCalculator.java /// Date Finished: Feb 25, 2016 import java.util.Scanner; public class WeekdayCalculator { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.println("What's your birthday? (MM DD YYYY)"); System.out.print("> "); int month = input.nextInt(); int day = input.nextInt(); int year = input.nextInt(); String result = getWeekdayString(day, month, year); System.out.println("You were born on " + result + "!"); } public static int getMonthOffset(int m) { int result; if (m == 1) { result = 1; } else if (m == 2) { result = 4; } else if (m == 3) { result = 4; } else if (m == 4) { result = 0; } else if (m == 5) { result = 2; } else if (m == 6) { result = 5; } else if (m == 7) { result = 0; } else if (m == 8) { result = 3; } else if (m == 9) { result = 6; } else if (m == 10) { result = 1; } else if (m == 11) { result = 4; } else if (m == 12) { result = 6; } else { result = -1; } return result; } public static boolean isLeapYear(int year) { return year % 4 == 0 && (year % 100 != 0 || year % 400 == 0); } public static String getWeekdayName(int weekday) { String result; if (weekday == 1) { result = "Sunday"; } else if (weekday == 2) { result = "Monday"; } else if (weekday == 3) { result = "Tuesday"; } else if (weekday == 4) { result = "Wednesday"; } else if (weekday == 5) { result = "Thursday"; } else if (weekday == 6) { result = "Friday"; } else if (weekday == 7) { result = "Saturday"; } else { result = "error"; } return result; } public static String getMonthName(int month) { String result; if (month == 1) { result = "January"; } else if (month == 2) { result = "February"; } else if (month == 3) { result = "March"; } else if (month == 4) { result = "April"; } else if (month == 5) { result = "May"; } else if (month == 6) { result = "June"; } else if (month == 7) { result = "July"; } else if (month == 8) { result = "August"; } else if (month == 9) { result = "September"; } else if (month == 10) { result = "October"; } else if (month == 11) { result = "November"; } else if (month == 12) { result = "December"; } else { result = "error"; } return result; } public static String getWeekdayString(int day, int month, int year) { int yy = year - 1900; int total = yy / 4; total += yy; total += day; total += getMonthOffset(month); if (isLeapYear(year) || month == 1 || month == 2) { total--; } int r = total % 7; String weekdayStr = getWeekdayName(r); String monthStr = getMonthName(month); return weekdayStr + ", " + monthStr + " " + day + ", " + year; } }
GOAL: Calculate the areas of shapes with methods.
/// Name: Cornelius Eanes /// Period: 5 /// Program Name: Area Calculator /// File Name: AreaCalculator.java /// Date Finished: Feb 25, 2016 import java.util.Scanner; public class AreaCalculator { public static double getAreaCircle(double radius) { return Math.PI * (radius * radius); } public static double getAreaRectangle(double length, double width) { return length * width; } public static double getAreaTriangle(double base, double height) { return 0.5 * base * height; } public static double getAreaSquare(double length) { return length * length; } public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.println("Shape Area Calculator\n"); int choice = -1; while (choice != 5) { System.out.println("1) Square\n2) Rectangle\n3) Triangle\n4) Circle\n5) Quit"); System.out.print("> "); choice = input.nextInt(); System.out.println(); if (choice == 1) { System.out.print("Length: "); double length = input.nextDouble(); System.out.println("\nThe area is " + getAreaSquare(length) + ".\n"); } else if (choice == 2) { System.out.print("Length: "); double length = input.nextDouble(); System.out.print("Width: "); double width = input.nextDouble(); System.out.println("\nThe area is " + getAreaRectangle(length, width) + ".\n"); } else if (choice == 3) { System.out.print("Base: "); double base = input.nextDouble(); System.out.print("Height: "); double height = input.nextDouble(); System.out.println("\nThe area is " + getAreaTriangle(base, height) + ".\n"); } else if (choice == 4) { System.out.print("Radius: "); double radius = input.nextDouble(); System.out.println("\nThe area is " + getAreaCircle(radius) + ".\n"); } } } }
GOAL: Correctly print a lot of stuff to the screen.
/// Name: Cornelius Eanes /// Period: 5 /// Program Name: Function Call Alphabet /// File Name: MethodCallAlphabet.java /// Date Finished: Feb 26, 2016 // Method Call Alphabet - Yet another program to practice methods, but this time it's method calls only. public class MethodCallAlphabet { public static void main( String[] args ) { // ???? a( ???? ); // displays a word beginning with A // ???? b( ???? ); // returns the word to be displayed // ???? c( ???? ); // pass it 'true' and it will display a word beginning with C // ???? d( ???? ); // displays a word beginning with D // ???? e( ???? ); // pass it the number of letters to display (9) // ???? f( ???? ); // displays the word you pass it beginning with "F" // ???? g( ???? ); // returns the word to be displayed // ???? h( ???? ); // tell it how many times to display the word (1) a(); System.out.print(b()); c(true); d(); e(9); f("Frog"); System.out.print(g()); h(1); // ???? i( ???? ); // pass it any integer and it will display a word beginning with I // ???? j( ???? ); // returns a different word depending on what you pass it (1-3) // ???? k( ???? ); // displays a word beginning with K // ???? l( ???? ); // displays a different word depending on the two booleans you pass it // ???? m( ???? ); // displays a different word depending on the two booleans you pass it // ???? n( ???? ); // displays the word you pass it beginning with "N" // ???? o( ???? ); // displays a word beginning with O and returns a useless value // ???? p( ???? ); // returns the word to be displayed // ???? q( ???? ); // displays the word System.out.println(); i(Integer.MAX_VALUE); j(1); j(2); j(3); k(); l(true, true); l(true, false); m(true, false); m(false, false); n("Noodles"); o(); System.out.print(p()); q(); // ???? r( ???? ); // returns a different word depending on if you pass it 'true' or 'false' // ???? s( ???? ); // pass it the number of letters to display (6) // ???? t( ???? ); // displays the word you pass it beginning with "T" // ???? u( ???? ); // returns the word to be displayed // ???? v( ???? ); // tell it how many times to display the word (1) // ???? w( ???? ); // pass it any integer and it will display a word beginning with W // ???? x( ???? ); // returns a different word depending on what you pass it (1-2) // ???? y( ???? ); // displays a word beginning with Y // ???? z( ???? ); // returns a different word depending on which two boolean values you pass it System.out.println(); r(true); r(false); s(6); t("Tough"); System.out.print(u()); v(1); w(0xff000000); x(1); x(2); y(); z(true, true); z(false, false); System.out.println(); } /************************************** * Don't change anything below here!! * *************************************/ // More code down here...
GOAL: Fix the code so it compiles and works.
/// Name: Cornelius Eanes /// Period: 5 /// Program Name: Fill-In Functions /// File Name: FillInMethods.java /// Date Finished: Feb 26, 2016 // Fill-In Methods - Fix the broken methods and method calls. public class FillInMethods { public static void main( String[] args ) { // Fill in the method calls where appropriate. System.out.println("Watch as we demonstrate methods."); System.out.println(); System.out.println("I'm going to get a random character from A-Z"); char c; c = randChar(); System.out.println("The character is: " + c ); System.out.println(); System.out.println("Now let's count from -10 to 10"); int begin, end; begin = -10; end = 10; counter(begin, end); System.out.println("How was that?"); System.out.println(); System.out.println("Now we take the absolute value of a number."); int x, y; x = -10; y = abso(x); System.out.println("|" + x + "| = " + y ); System.out.println(); System.out.println("That's all. This program has been brought to you by:"); credits(); } public static void credits() // No parameters. { // displays some boilerplate text saying who wrote this program, etc. System.out.println(); System.out.println("programmed by Graham Mitchell"); System.out.println("modified by Cornelius Eanes"); System.out.print("This code is distributed under the terms of the standard "); System.out.println("BSD license. Do with it as you wish."); } public static char randChar() // No parameters. { // chooses a random character in the range "A" to "Z" int numval; char charval; // pick a random number from 0 to 25 numval = (int)(Math.random()*26); // now add that offset to the value of the letter 'A' charval = (char) ('A' + numval); return charval; } public static int counter(int start, int stop) // Parameters are: // int start; // int stop; { // counts from start to stop by ones int ctr; ctr = start; while ( ctr <= stop ) { System.out.print(ctr + " "); ctr = ctr+1; } return ctr; } public static int abso(int value) // Parameters are: // int value; { // finds the absolute value of the parameter int absval; if ( value < 0 ) absval = -value; else absval = value; return absval; } }
GOAL: Fix some more code so it compiles and runs.
/// Name: Cornelius Eanes /// Period: 5 /// Program Name: More Fill-In Methods /// File Name: MoreFillInMethods.java /// Date Finished: Feb 26, 2016 // More Fill-In Methods - Fix the broken methods and method calls (again). import java.util.Scanner; public class MoreFillInMethods { public static void main( String[] args ) { // Fill in the method calls where indicated. System.out.println("Here we go."); System.out.println(); System.out.println("Some random numbers, if you please: "); int lo, hi, val1, val2; lo = 1; hi = 10; val1 = superRand(lo, hi); System.out.println("First: " + val1 ); val2 = superRand(hi, lo); // this time, put hi first System.out.println("Second: " + val2 ); if ( val1 == val2 ) System.out.println("Hey! They were the same!"); else System.out.println("They were not the same."); System.out.println(); System.out.print("More counting, but this time not by ones: "); // count from 2 to 8 by 2s stepCount(2, 8, 2); // count from 10 to 2 by 2s stepCount(10, 2, 2); System.out.println(); System.out.println("Let's figure a project grade."); int a = 4, b = 3, c = 4, d = 5, e = 2, f = 1, result; result = projectGrade(a, b, c, d, e, f); System.out.println("434521 -> " + result ); System.out.println(); System.out.print("Finally, some easy ones."); String namae; namae = getName(); System.out.println("Hi, " + namae ); System.out.println(); System.out.println("Do you feel lucky, punk?"); crash(); System.out.println(); } public static int superRand(int a, int b) // Parameters are: // int a; // int b; { // picks a number between a and b, no matter which is larger int c; if ( a < b ) // b is larger c = a + (int)(Math.random()*(b-a+1)); else if ( a > b ) // a is larger c = b + (int)(Math.random()*(a-b+1)); else c = a; // or c = b; doesn't matter since they're equal return c; } public static int stepCount(int first, int last, int step) // Parameters are: // int first; // int last; // int step; { // counts from 'first' to 'last' by 'step' // handles forward and backward int x; if ( first < last ) { x = first; while ( x <= last ) { System.out.print(x + " "); x = x + step; } } else { x = first; while ( x >= last ) { System.out.print(x + " "); x = x - step; } } return x; } public static int projectGrade(int p1, int p2, int p3, int p4, int p5, int p6) // Parameters are: // int p1, p2, p3, p4, p5, p6; { // given six integers representing scores out of five in each of the // six categories for the first six weeks project: tells you your // overall project grade out of 100 int overall_grade; overall_grade = p1 * 6; // six points per point for the first category overall_grade = overall_grade + ( p2 * 6 ); // six points per point overall_grade = overall_grade + ( p3 * 4 ); // four points per point overall_grade = overall_grade + ( p4 * 2 ); // two points per point overall_grade = overall_grade + ( p5 * 1 ); // one point per point overall_grade = overall_grade + ( p6 * 1 ); // one point per point return overall_grade; } public static String getName() // No parameters. { // finds out the user's name Scanner keyboard = new Scanner(System.in); String name; System.out.print("Please enter your name: "); name = keyboard.next(); return name; } public static String crash() // No parameters. { // displays "you win" or "you lose". You lose 90% of the time. String magic_word; if ( (int)(Math.random()*10) == 0 ) { // What do you know? We won! magic_word = "win"; } else { // No big suprise; we lost. magic_word = "lose"; } System.out.print("you " + magic_word); return magic_word; } }
GOAL: Write a skeleton of a keychain-buying program.
/// Name: Cornelius Eanes /// Period: 5 /// Program Name: Keychains for Sale /// File Name: KeychainsForSale.java /// Date Finished: Feb 26, 2016 import java.util.Scanner; public class KeychainsForSale { public static void main(String[] args) { Scanner input = new Scanner(System.in); boolean run = true; System.out.println("Ye Olde Keychains Shoppe"); System.out.println(); while (run) { System.out.println("1. Add keychains to order"); System.out.println("2. Remove keychains from order"); System.out.println("3. View current order"); System.out.println("4. Checkout"); System.out.println(); System.out.print("> "); int choice = input.nextInt(); if (choice == 1) { addKeychains(); } else if (choice == 2) { removeKeychains(); } else if (choice == 3) { viewOrder(); } else if (choice == 4) { checkout(); run = false; } } } public static void addKeychains() { System.out.println("// TODO: Add keychains"); } public static void removeKeychains() { System.out.println("// TODO: Remove keychains"); } public static void viewOrder() { System.out.println("// TODO: View order"); } public static void checkout() { System.out.println("// TODO: Checkout order"); } }
GOAL: Complete the keychain assignment.
/// Name: Cornelius Eanes /// Period: 5 /// Program Name: Keychains for Sale, For Real This Time /// File Name: KeychainsForSale2.java /// Date Finished: Feb 26, 2016 import java.util.Scanner; public class KeychainsForSale2 { private static Scanner input; private static int keychainCount; private static double cost; public static void main(String[] args) { input = new Scanner(System.in); keychainCount = 0; cost = 10.00; boolean run = true; System.out.println("Ye Olde Keychains Shoppe"); System.out.println(); while (run) { System.out.println("1. Add keychains to order"); System.out.println("2. Remove keychains from order"); System.out.println("3. View current order"); System.out.println("4. Checkout"); System.out.println(); System.out.print("> "); int choice = input.nextInt(); System.out.println(); if (choice == 1) { addKeychains(); } else if (choice == 2) { removeKeychains(); } else if (choice == 3) { viewOrder(); } else if (choice == 4) { checkout(); run = false; } System.out.println(); } } public static void addKeychains() { System.out.println("You have " + keychainCount + " keychain(s)."); System.out.println("How many keychains do you want to add?"); System.out.print("> "); int amount = input.nextInt(); keychainCount += amount; System.out.println("You now have " + keychainCount + " keychain(s)."); } public static void removeKeychains() { System.out.println("You have " + keychainCount + " keychain(s)."); System.out.println("How many keychains do you want to remove?"); System.out.print("> "); int amount = input.nextInt(); keychainCount -= amount; System.out.println("You now have " + keychainCount + " keychain(s)."); } public static void viewOrder() { System.out.println("Number of keychains: " + keychainCount); System.out.println("Cost per keychain: $" + zeroPad(cost)); System.out.println("Total: $" + zeroPad(calculateTotal())); } public static void checkout() { System.out.print("Please enter your name: "); String name = input.next(); viewOrder(); System.out.println("Thanks for your order, " + name + "!"); } public static String zeroPad(double d) { return String.format("%01.02f", d); } public static double calculateTotal() { return cost * keychainCount; } }
GOAL: Modify the completed keychain assignment to include sales tax and shipping fees and error checking.
/// Name: Cornelius Eanes /// Period: 5 /// Program Name: Keychains for Sale: Ultimate Power /// File Name: KeychainsForSale3.java /// Date Finished: Feb 29, 2016 import java.util.Scanner; public class KeychainsForSale3 { private static Scanner input; private static int keychainCount; private static double cost, tax, shippingInitial, shippingMarginal; public static void main(String[] args) { input = new Scanner(System.in); keychainCount = 0; cost = 10.00; tax = 0.0825; shippingInitial = 5.00; shippingMarginal = 1.00; boolean run = true; System.out.println("Ye Olde Keychains Shoppe"); System.out.println(); while (run) { System.out.println("1. Add keychains to order"); System.out.println("2. Remove keychains from order"); System.out.println("3. View current order"); System.out.println("4. Checkout"); System.out.println(); System.out.print("> "); int choice = input.nextInt(); System.out.println(); if (choice == 1) { addKeychains(); } else if (choice == 2) { removeKeychains(); } else if (choice == 3) { viewOrder(); } else if (choice == 4) { checkout(); run = false; } System.out.println(); } } public static void addKeychains() { boolean next = false; int amount = -1; while (!next) { System.out.println("You have " + keychainCount + " keychain(s)."); System.out.println("How many keychains do you want to add?"); System.out.print("> "); amount = input.nextInt(); if (!checkKeychains(amount)) { System.out.println("ERROR: Cannot have a negative keychain count.\n"); } else { next = true; } } keychainCount += amount; System.out.println("You now have " + keychainCount + " keychain(s)."); } public static void removeKeychains() { boolean next = false; int amount = -1; while (!next) { System.out.println("You have " + keychainCount + " keychain(s)."); System.out.println("How many keychains do you want to remove?"); System.out.print("> "); amount = input.nextInt(); if (!checkKeychains(-amount)) { System.out.println("ERROR: Cannot have a negative keychain count.\n"); } else { next = true; } } keychainCount -= amount; System.out.println("You now have " + keychainCount + " keychain(s)."); } public static void viewOrder() { System.out.println("Number of keychains: " + keychainCount); System.out.println("Cost per keychain: $" + zeroPad(cost)); System.out.println("Shipping charges ($" + zeroPad(shippingInitial) + " + $" + zeroPad(shippingMarginal) + " for each keychain): $" + zeroPad(calculateShippingCharges())); System.out.println("Subtotal: $" + zeroPad(calculateSubtotal())); System.out.println("Tax Charge (" + String.format("%01.02f", tax * 100) + "%): $" + zeroPad(calculateTaxCharge())); System.out.println("Total: $" + zeroPad(calculateTotal())); } public static void checkout() { System.out.print("Please enter your name: "); String name = input.next(); viewOrder(); System.out.println("Thanks for your order, " + name + "!"); } public static double calculateShippingCharges() { return shippingInitial + shippingMarginal * keychainCount; } public static double calculateSubtotal() { return keychainCount * cost + calculateShippingCharges(); } public static double calculateTotal() { return calculateSubtotal() * (1.0 + tax); } public static double calculateTaxCharge() { return calculateSubtotal() * tax; } public static String zeroPad(double d) { return String.format("%01.02f", d); } public static boolean checkKeychains(int amount) { return keychainCount + amount >= 0; } }
GOAL: Learn how to call methods from other files.
/// Name: Cornelius Eanes /// Period: 5 /// Program Name: Calling Methods from Other Files /// File Name: MethodsFromOtherFiles.java /// Date Finished: Feb 29, 2016 // Don't worry about the package naming import ifstatements._36.WeekdayName; import methods._94.MonthName; import methods._95.MonthOffset; import methods._96.WeekdayCalculator; import java.util.Scanner; public class MethodsFromOtherFiles { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.println("What's your birthday? (MM DD YYYY)"); System.out.print("> "); int month = input.nextInt(); int day = input.nextInt(); int year = input.nextInt(); String result = getWeekdayString(day, month, year); System.out.println("You were born on " + result + "!"); } public static String getWeekdayString(int day, int month, int year) { int yy = year - 1900; int total = yy / 4; total += yy; total += day; total += MonthOffset.monthOffset(month); if (WeekdayCalculator.isLeapYear(year) || month == 1 || month == 2) { total--; } int r = total % 7; String weekdayStr = WeekdayName.getWeekdayName(r); String monthStr = MonthName.monthName(month); return weekdayStr + ", " + monthStr + " " + day + ", " + year; } }
GOAL: Using methods, figure out what numbers are even or divisible by 3.
/// Name: Cornelius Eanes /// Period: 5 /// Program Name: Evenness Method /// File Name: Evenness.java /// Date Finished: Feb 29, 2016 public class Evenness { public static boolean isEven(int i) { return i % 2 == 0; } public static boolean isDivisibleBy3(int i) { return i % 3 == 0; } public static void main(String[] args) { for (int i = 1; i <= 20; i++) { System.out.print(i + " "); if (isEven(i)) { System.out.print("<"); } if (isDivisibleBy3(i)) { System.out.print("="); } System.out.println(); } } }
GOAL: Using a method, find as many prime numbers as possible.
/// Name: Cornelius Eanes /// Period: 5 /// Program Name: Finding Prime Numbers /// File Name: PrimeNumbers.java /// Date Finished: Feb 29, 2016 public class PrimeNumbers { public static boolean isPrime(int n) { for (int i = n - 1; i > 1; i--) { if (n % i == 0) { return false; } } return true; } public static void main(String[] args) { for (int i = 2; i <= 100; i++) { if (isPrime(i)) { System.out.println(i); } } } }