diff --git a/classes-part-2/studio/src/main/java/org/launchcode/Main.java b/classes-part-2/studio/src/main/java/org/launchcode/Main.java index a284b3822..8008fd30b 100644 --- a/classes-part-2/studio/src/main/java/org/launchcode/Main.java +++ b/classes-part-2/studio/src/main/java/org/launchcode/Main.java @@ -3,6 +3,28 @@ public class Main { public static void main(String[] args) { - // write your code here + MenuItem item1 = new MenuItem("Pepperoni Pizza", "The classic slice, hot and delicious!", 7.39, "main course"); + MenuItem item2 = new MenuItem("Toasted Ravioli", "A St. Louis favorite, served with a size of pizza sauce", 6.89, "appetizer"); + MenuItem item3 = new MenuItem("Chocolate Cake", "Rich, moist cake with dark chocolate cream cheese frosting", 4.99, "dessert"); + MenuItem item4 = new MenuItem("Veggie Pizza", "Peppers, onions, mushrooms, olives, and tomatoes make a delicious combo", 6.39, "main course"); + MenuItem item5 = new MenuItem("Garlic Breadsticks", "Hot, garlicky carbs FTW", 4.59, "appetizer"); + + Menu menu = new Menu(); + menu.addItem(item1); + menu.addItem(item2); + menu.addItem(item3); + menu.addItem(item4); + menu.addItem(item5); + + + System.out.println(menu); + + System.out.println(item1); + + menu.removeItem(item4); + System.out.println(menu); + + + menu.removeItem(item4); } } diff --git a/classes-part-2/studio/src/main/java/org/launchcode/Menu.java b/classes-part-2/studio/src/main/java/org/launchcode/Menu.java index b4601316b..99ae71f2e 100644 --- a/classes-part-2/studio/src/main/java/org/launchcode/Menu.java +++ b/classes-part-2/studio/src/main/java/org/launchcode/Menu.java @@ -4,29 +4,40 @@ import java.util.Date; public class Menu { - private Date lastUpdated; - private ArrayList items; - public Menu(Date d, ArrayList i) { - this.lastUpdated = d; - this.items = i; - } + private ArrayList menuItems = new ArrayList<>(); - public void setLastUpdated(Date lastUpdated) { - this.lastUpdated = lastUpdated; + public ArrayList getMenuItems() { + return menuItems; } - - public void setItems(ArrayList items) { - this.items = items; + public String toString() { + StringBuilder appetizers = new StringBuilder(); + for (MenuItem item : menuItems) { + if (item.getCategory().equals("appetizer")) { + appetizers.append("\n" + item.toString() + "\n"); + } + } + StringBuilder mainCourses = new StringBuilder(); + for (MenuItem item : menuItems) { + if (item.getCategory().equals("main course")) { + mainCourses.append("\n" + item.toString() + "\n"); + } + } + StringBuilder desserts = new StringBuilder(); + for (MenuItem item : menuItems) { + if (item.getCategory().equals("dessert")) { + desserts.append("\n" + item.toString() + "\n"); + } + } + return "\nTONY'S PIZZA MENU\n" + + "APPETIZERS" + appetizers.toString() + "\n" + + "MAIN COURSES" + mainCourses.toString() + "\n" + + "DESSERTS" + desserts.toString() + "\n"; } - - public Date getLastUpdated() { - return lastUpdated; + void removeItem(MenuItem item) { + menuItems.remove(item); } - - public ArrayList getItems() { - return items; + void addItem(MenuItem newItem) { + menuItems.add(newItem); } -} - - +} \ No newline at end of file diff --git a/classes-part-2/studio/src/main/java/org/launchcode/MenuItem.java b/classes-part-2/studio/src/main/java/org/launchcode/MenuItem.java index 22ba70e45..c57dc0605 100644 --- a/classes-part-2/studio/src/main/java/org/launchcode/MenuItem.java +++ b/classes-part-2/studio/src/main/java/org/launchcode/MenuItem.java @@ -1,32 +1,62 @@ package org.launchcode; - +import java.time.LocalDate; +import java.time.temporal.ChronoUnit; public class MenuItem { + private String name; private double price; private String description; private String category; - private boolean isNew; + private final LocalDate dateAdded; - public MenuItem(double p, String d, String c, boolean iN) { - this.price = p; - this.description = d; - this.category = c; - this.isNew = iN; + public MenuItem(String name, String description, double price, String category) { + this.name = name; + this.price = price; + this.description = description; + this.category = category; + this.dateAdded = LocalDate.now(); + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public double getPrice() { + return price; } public void setPrice(double price) { this.price = price; } + public String getDescription() { + return description; + } + public void setDescription(String description) { this.description = description; } + public String getCategory() { + return category; + } + public void setCategory(String category) { this.category = category; } - public void setNew(boolean aNew) { - isNew = aNew; + public LocalDate getDateAdded() { + return dateAdded; + } + public String toString() { +//String newText = isNew() ? " - NEW!" : ""; + return name + '\n' + + description + " | $" + price; } + + } diff --git a/control-flow-and-collections/chapter-example/student-example/src/main/java/org/launchcode/ArrayListExample.java b/control-flow-and-collections/chapter-example/student-example/src/main/java/org/launchcode/ArrayListExample.java new file mode 100644 index 000000000..810987b1f --- /dev/null +++ b/control-flow-and-collections/chapter-example/student-example/src/main/java/org/launchcode/ArrayListExample.java @@ -0,0 +1,32 @@ +package org.launchcode; +import java.util.ArrayList; + +public class ArrayListExample { + + public static int sumEvenNumbers(ArrayList numbers){ + int sum = 0; + for(int num: numbers){ + if(num % 2 == 0){ + sum += num; + } + } + return sum; + } + + public static void main(String[] args){ + ArrayList numbers = new ArrayList<>(); + numbers.add(5); + numbers.add(6); + numbers.add(12); + numbers.add(18); + numbers.add(2); + numbers.add(8); + numbers.add(3); + numbers.add(9); + numbers.add(11); + numbers.add(7); + + int ArrayTotal = sumEvenNumbers(numbers); + System.out.println("Sum of Even numbers in ArrayList is " + ArrayTotal + "."); + } +} \ No newline at end of file diff --git a/control-flow-and-collections/chapter-example/student-example/src/main/java/org/launchcode/Arraypractice.java b/control-flow-and-collections/chapter-example/student-example/src/main/java/org/launchcode/Arraypractice.java new file mode 100644 index 000000000..dab8175bf --- /dev/null +++ b/control-flow-and-collections/chapter-example/student-example/src/main/java/org/launchcode/Arraypractice.java @@ -0,0 +1,19 @@ +package org.launchcode; +import java.util.Scanner; +import java.util.Arrays; +public class Arraypractice { + public static void main(String[] args) { + int[] integerArray = {1, 1, 2, 3, 5, 8}; + + for (int i = 0; i < integerArray.length; i++) { + if (integerArray[i] % 2 != 0) { + System.out.println(integerArray[i]); + } + } + String phrase = "I would not, could not, in a box. I would not, could not with a fox. I will not eat them in a house. I will not eat them with a mouse."; + String[] words = phrase.split(" "); + System.out.println(Arrays.toString(words)); + + + } +} diff --git a/control-flow-and-collections/chapter-example/student-example/src/main/java/org/launchcode/countingCharacter.java b/control-flow-and-collections/chapter-example/student-example/src/main/java/org/launchcode/countingCharacter.java new file mode 100644 index 000000000..57a15c1dc --- /dev/null +++ b/control-flow-and-collections/chapter-example/student-example/src/main/java/org/launchcode/countingCharacter.java @@ -0,0 +1,28 @@ +package org.launchcode; + +import java.util.HashMap; +import java.util.Map; +import java.util.Scanner; + +public class countingCharacter { + public static void main(String[] args) { + //String phrase = "If the product of two terms is zero then common sense says at least one of the two terms has to be zero to start with. So if you move all the terms over to one side, you can put the quadratics into a form that can be factored allowing that side of the equation to equal zero. Once you’ve done that, it’s pretty straightforward from there."; + Scanner input =new Scanner(System.in); + System.out.println("enter the quote"); + String quote =input.nextLine(); + char[] charactersInString = quote.toLowerCase().toCharArray(); + HashMap countingCharacter = new HashMap<>(); + for (char letter : charactersInString) { + int count = countingCharacter.containsKey(letter) ? countingCharacter.get(letter) : 0; + countingCharacter.put(letter, count + 1); + + } + for (Map.Entry character: countingCharacter.entrySet()){ + System.out.println(character.getKey() + ":" + character.getValue()); + } + + + } + + +} diff --git a/datatypes/datatypes-exercises/src/main/java/org/launchcode/Alice.java b/datatypes/datatypes-exercises/src/main/java/org/launchcode/Alice.java new file mode 100644 index 000000000..94900225e --- /dev/null +++ b/datatypes/datatypes-exercises/src/main/java/org/launchcode/Alice.java @@ -0,0 +1,21 @@ +package org.launchcode; +import java.util.Scanner; +public class Alice { + public static void main(String[] args) { +String name="Alice was beginning to get very tired of sitting by her sister on the bank, and of " + + "having nothing to do: once or twice she had peeped into the book her sister was reading," + + " but it had no pictures or conversations in it, " + + "‘and what is the use of a book,’ thought Alice ‘without pictures or conversation?’"; + + Scanner scanner = new Scanner(System.in); + + System.out.print("Enter a term to search for: "); + String searchTerm = scanner.nextLine().toLowerCase(); + + boolean found = name.toLowerCase().contains(searchTerm); + + System.out.println("Search term found: " + found); + + scanner.close(); + } +} diff --git a/datatypes/datatypes-exercises/src/main/java/org/launchcode/Hello.java b/datatypes/datatypes-exercises/src/main/java/org/launchcode/Hello.java new file mode 100644 index 000000000..f26e9a197 --- /dev/null +++ b/datatypes/datatypes-exercises/src/main/java/org/launchcode/Hello.java @@ -0,0 +1,10 @@ +package org.launchcode; +import java.util.Scanner; +public class Hello { + public static void main(String[] args) { + Scanner input = new Scanner(System.in); + System.out.println("Hello, what is your name:"); + String name = input.nextLine(); + System.out.println("Hello " + name); + } +} diff --git a/datatypes/datatypes-exercises/src/main/java/org/launchcode/Miles.java b/datatypes/datatypes-exercises/src/main/java/org/launchcode/Miles.java new file mode 100644 index 000000000..d39fbf9d4 --- /dev/null +++ b/datatypes/datatypes-exercises/src/main/java/org/launchcode/Miles.java @@ -0,0 +1,19 @@ +package org.launchcode; + +import java.util.Scanner; + + public class Miles { + public static void main(String[] args) { + Scanner input = new Scanner(System.in); + + System.out.println("How many miles have you driven?"); + Double numMiles = input.nextDouble(); + + System.out.println("How much gas did you use? In gallons."); + Double numGallons = input.nextDouble(); + + Double mpg = numMiles / numGallons; + System.out.println("You are running on " + mpg + " mpg."); + } + +} diff --git a/datatypes/datatypes-exercises/src/main/java/org/launchcode/Rectangle.java b/datatypes/datatypes-exercises/src/main/java/org/launchcode/Rectangle.java new file mode 100644 index 000000000..3bfa637e1 --- /dev/null +++ b/datatypes/datatypes-exercises/src/main/java/org/launchcode/Rectangle.java @@ -0,0 +1,14 @@ +package org.launchcode; + +import java.util.Scanner; +public class Rectangle { + public static void main(String[] args) { + Scanner input = new Scanner(System.in); + System.out.println("Enter the length of the rectangle"); + Integer length =input.nextInt(); + System.out.println("Enter the width of the rectangle"); + Integer width =input.nextInt(); + Integer aoR = length * width; + System.out.println("Area of the Rectagle is" + aoR + "cm"); + } +} diff --git a/datatypes/datatypes-studio/src/main/java/org/launchcode/Area.java b/datatypes/datatypes-studio/src/main/java/org/launchcode/Area.java new file mode 100644 index 000000000..5b3d1efce --- /dev/null +++ b/datatypes/datatypes-studio/src/main/java/org/launchcode/Area.java @@ -0,0 +1,12 @@ +package org.launchcode; +import java.util.Scanner; +public class Area { + public static void main(String[] args) { + Scanner input =new Scanner(System.in); + System.out.println("Enter the radius of a circle"); + double radius =input.nextFloat(); + double areaCircle = Circle.getArea(radius); + System.out.println("Area of a circle " +areaCircle); + input.close(); + } +} diff --git a/datatypes/datatypes-studio/src/main/java/org/launchcode/Circle.java b/datatypes/datatypes-studio/src/main/java/org/launchcode/Circle.java new file mode 100644 index 000000000..6fddf4633 --- /dev/null +++ b/datatypes/datatypes-studio/src/main/java/org/launchcode/Circle.java @@ -0,0 +1,7 @@ +package org.launchcode; + +public class Circle { + public static Double getArea(Double radius) { + return 3.14 * radius * radius; + } +} diff --git a/inheritance/testing-inheritance/exercises/src/main/java/technology/Computer.java b/inheritance/testing-inheritance/exercises/src/main/java/technology/Computer.java new file mode 100644 index 000000000..848ddff02 --- /dev/null +++ b/inheritance/testing-inheritance/exercises/src/main/java/technology/Computer.java @@ -0,0 +1,21 @@ +package technology; + +public class Computer { + private String brand; + private int storage; + private int ramSize; + + public Computer(String brand, int storage, int ramSize) { + this.brand = brand; + this.storage = storage; + this.ramSize = ramSize; + } + + public void powerOn() { + System.out.println("Computer powered on."); + } + + public void powerOff() { + System.out.println("Computer powered off."); + } +} diff --git a/inheritance/testing-inheritance/exercises/src/main/java/technology/Laptop.java b/inheritance/testing-inheritance/exercises/src/main/java/technology/Laptop.java new file mode 100644 index 000000000..e36e02d6a --- /dev/null +++ b/inheritance/testing-inheritance/exercises/src/main/java/technology/Laptop.java @@ -0,0 +1,15 @@ +package technology; +public class Laptop extends Computer { + private double screenSize; + + public Laptop(String brand, int storage, int ramSize, double screenSize) { + super(brand, storage, ramSize); + this.screenSize = screenSize; + } + + public void fold() { + System.out.println("Laptop folded."); + } + +} + diff --git a/inheritance/testing-inheritance/exercises/src/main/java/technology/SmartPhone.java b/inheritance/testing-inheritance/exercises/src/main/java/technology/SmartPhone.java new file mode 100644 index 000000000..47986e57b --- /dev/null +++ b/inheritance/testing-inheritance/exercises/src/main/java/technology/SmartPhone.java @@ -0,0 +1,15 @@ +package technology; + +public class SmartPhone extends Computer { + private String cameraResolution; + + public SmartPhone(String brand, int storage, int ramSize, String cameraResolution) { + super(brand, storage, ramSize); + this.cameraResolution = cameraResolution; + } + + public void takePhoto() { + System.out.println("Photo taken with " + cameraResolution + " camera."); + } + +} diff --git a/inheritance/testing-inheritance/exercises/src/main/java/technology/techdemo.java b/inheritance/testing-inheritance/exercises/src/main/java/technology/techdemo.java new file mode 100644 index 000000000..a6569878e --- /dev/null +++ b/inheritance/testing-inheritance/exercises/src/main/java/technology/techdemo.java @@ -0,0 +1,26 @@ + +package technology; + +public class techdemo { + + public static void main(String[] args) { + + + Computer comp = new Computer("Generic Brand", 512, 16); + comp.powerOn(); + comp.powerOff(); + + + Laptop laptop = new Laptop("Dell", 1024, 32, 15.6); + laptop.powerOn(); + laptop.fold(); + laptop.powerOff(); + + + SmartPhone phone = new SmartPhone("Apple", 256, 4, "12MP"); + phone.powerOn(); + phone.takePhoto(); + phone.powerOff(); + + } +} diff --git a/unit-testing/exercises/car-exercises/src/test/java/org/launchcode/CarTest.java b/unit-testing/exercises/car-exercises/src/test/java/org/launchcode/CarTest.java index 1a3f2a04a..d90bf0fcd 100644 --- a/unit-testing/exercises/car-exercises/src/test/java/org/launchcode/CarTest.java +++ b/unit-testing/exercises/car-exercises/src/test/java/org/launchcode/CarTest.java @@ -3,8 +3,11 @@ import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; + import static org.junit.jupiter.api.Assertions.*; + + class CarTest { Car test_car; @@ -13,15 +16,18 @@ public void initCar() { test_car = new Car("Toyota", "Prius", 10, 50); } + //TODO: add emptyTest so we can configure our runtime environment @Test public void emptyTest() { - assertEquals(10, 10, .001); + assertEquals(10,10,.001); } + //TODO: constructor sets gasTankLevel properly @Test public void testInitialGasTank() { + Car test_car = new Car("Toyota", "Prius", 10, 50); assertEquals( 10, test_car.getGasTankLevel(),.001); } diff --git a/unit-testing/studio/balanced-brackets/src/main/java/org/launchcode/BalancedBrackets.java b/unit-testing/studio/balanced-brackets/src/main/java/org/launchcode/BalancedBrackets.java index 890783e59..dabdab955 100644 --- a/unit-testing/studio/balanced-brackets/src/main/java/org/launchcode/BalancedBrackets.java +++ b/unit-testing/studio/balanced-brackets/src/main/java/org/launchcode/BalancedBrackets.java @@ -27,6 +27,9 @@ public static boolean hasBalancedBrackets(String str) { } else if (ch == ']') { brackets--; } + if (brackets < 0) { + return false; + } } return brackets == 0; } diff --git a/unit-testing/studio/balanced-brackets/src/test/java/org/launchcode/BalancedBracketsTest.java b/unit-testing/studio/balanced-brackets/src/test/java/org/launchcode/BalancedBracketsTest.java index a9d8821b3..f29b7fe75 100644 --- a/unit-testing/studio/balanced-brackets/src/test/java/org/launchcode/BalancedBracketsTest.java +++ b/unit-testing/studio/balanced-brackets/src/test/java/org/launchcode/BalancedBracketsTest.java @@ -5,9 +5,125 @@ import static org.junit.jupiter.api.Assertions.*; class BalancedBracketsTest { - //TODO: add tests here + + // POSITIVE TEST CASES + + // Sample test from instructions, refactored to use constructor with message + @Test + public void singlePairOfBrackets() { + String message = "a single set of balanced brackets returns true"; + String testData = "[]"; + boolean result = BalancedBrackets.hasBalancedBrackets(testData); + assertTrue(result, message); + } + + @Test + public void singleBracketsBeforeOtherCharacters() { + String message = "balanced brackets in front of other characters returns true"; + String testData = "[]LaunchCode"; + boolean result = BalancedBrackets.hasBalancedBrackets(testData); + assertTrue(result, message); + } + + @Test + public void singleBracketsAroundOtherCharacters() { + String message = "balanced brackets around other characters returns true"; + String testData = "[LaunchCode]"; + boolean result = BalancedBrackets.hasBalancedBrackets(testData); + assertTrue(result, message); + } + + @Test + public void singleBracketsAmongOtherCharacters() { + String message = "balanced brackets among other characters returns true"; + String testData = "Launch[Code]"; + boolean result = BalancedBrackets.hasBalancedBrackets(testData); + assertTrue(result, message); + } + + @Test + public void tripleBalancedBrackets() { + String message = "three consecutive pairs of brackets returns true"; + String testData = "[][][]"; + boolean result = BalancedBrackets.hasBalancedBrackets(testData); + assertTrue(result, message); + } + + @Test + public void tripleNestedBalancedBrackets() { + String message = "three nested pairs of brackets returns true"; + String testData = "[[[]]]"; + boolean result = BalancedBrackets.hasBalancedBrackets(testData); + assertTrue(result, message); + } + + + // NEGATIVE TEST CASES + + @Test + public void singleOpeningBracket() { + String message = "a single opening bracket returns false"; + String testData = "["; + boolean result = BalancedBrackets.hasBalancedBrackets(testData); + assertFalse(result, message); + } + + @Test + public void singleClosingBracket() { + String message = "a single closing bracket returns false"; + String testData = "]"; + boolean result = BalancedBrackets.hasBalancedBrackets(testData); + assertFalse(result, message); + } + + @Test + public void reversedBrackets() { + String message = "a reversed sets of brackets returns false"; + String testData = "]["; + boolean result = BalancedBrackets.hasBalancedBrackets(testData); + assertFalse(result, message); + } + + @Test + public void singleBracketWithOtherCharacters() { + String message = "a single opening bracket with other characters returns false"; + String testData = "[LaunchCode"; + boolean result = BalancedBrackets.hasBalancedBrackets(testData); + assertFalse(result, message); + } + + @Test + public void unbalancedBracketsAmongOtherCharacters() { + String message = "unbalanced brackets among other characters returns false"; + String testData = "Launch]Code["; + boolean result = BalancedBrackets.hasBalancedBrackets(testData); + assertFalse(result, message); + } + + @Test + public void mixOfUnbalancedBrackets() { + String message = "a mix of unbalanced brackets returns false"; + String testData = "[[]][]["; + boolean result = BalancedBrackets.hasBalancedBrackets(testData); + assertFalse(result, message); + } + + + // EDGE CASES + + @Test + public void stringOfCharactersWithoutBrackets() { + String message = "a string of characters without brackets returns true"; + String testData = "LaunchCode"; + boolean result = BalancedBrackets.hasBalancedBrackets(testData); + assertTrue(result, message); + } + @Test - public void emptyTest() { - assertEquals(true, true); + public void emptyString() { + String message = "an empty string returns true"; + String testData = ""; + boolean result = BalancedBrackets.hasBalancedBrackets(testData); + assertTrue(result, message); } } \ No newline at end of file