diff --git a/classes-part-2/exercises/src/main/java/org/launchcode/Course.java b/classes-part-2/exercises/src/main/java/org/launchcode/Course.java index ca56bd799..778801da6 100644 --- a/classes-part-2/exercises/src/main/java/org/launchcode/Course.java +++ b/classes-part-2/exercises/src/main/java/org/launchcode/Course.java @@ -1,8 +1,10 @@ package org.launchcode; import java.util.ArrayList; +import java.util.Objects; public class Course { + private String name; private String topic; private Teacher instructor; private ArrayList enrolledStudents; @@ -11,7 +13,32 @@ public class Course { // just the class fields. + @Override + public String toString() { + return "Course{" + + "name='" + name + '\'' + + ", topic='" + topic + '\'' + + ", instructor=" + instructor + + ", enrolledStudents=" + enrolledStudents + + '}'; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + Course course = (Course) o; + return Objects.equals(name, course.name) && Objects.equals(instructor, course.instructor); + } + + @Override + public int hashCode() { + return Objects.hash(name, instructor); + } + + // TODO: Add your custom 'equals' method here. Consider which fields should match in order to call two // Course objects equal. + } diff --git a/classes-part-2/exercises/src/main/java/org/launchcode/Student.java b/classes-part-2/exercises/src/main/java/org/launchcode/Student.java index 7e368e66e..dece53cd9 100644 --- a/classes-part-2/exercises/src/main/java/org/launchcode/Student.java +++ b/classes-part-2/exercises/src/main/java/org/launchcode/Student.java @@ -30,21 +30,52 @@ public String studentInfo() { //TODO: Uncomment and complete the getGradeLevel method here: -// public String getGradeLevel() { -// // Determine the grade level of the student based on numberOfCredits -// } + public String getGradeLevel(int credits) { + if (credits <= 29) { + return "Freshman"; + } else if (credits <= 59) { + return "Sophomore"; + } else if (credits <= 89) { + return "Junior"; + } else { + return "Senior"; + } + } // TODO: Complete the addGrade method. public void addGrade(int courseCredits, double grade) { + double totalQualityScore = this.gpa * this.numberOfCredits; + totalQualityScore += courseCredits * grade; + this.numberOfCredits += courseCredits; + this.gpa = totalQualityScore / this.numberOfCredits; + // Update the appropriate fields: numberOfCredits, gpa } // TODO: Add your custom 'toString' method here. Make sure it returns a well-formatted String rather // than just the class fields. + public String toString() { + String studentReport = String.format("%s is a %s with a gpa of %d.", + this.name, this.getGradeLevel(this.numberOfCredits), this.getGpa()); + return studentReport; + } + // TODO: Add your custom 'equals' method here. Consider which fields should match in order to call two // Student objects equal. - + public boolean equals(Object toBeCompared) { + if (toBeCompared == this) { + return true; + } + if (toBeCompared == null) { + return false; + } + if (toBeCompared.getClass() != getClass()) { + return false; + } + Student theStudent = (Student) toBeCompared; + return theStudent.getStudentId() == getStudentId(); + } public String getName() { return name; } 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..7343e331b 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 @@ -1,18 +1,18 @@ package org.launchcode; +import java.time.LocalDate; import java.util.ArrayList; -import java.util.Date; public class Menu { - private Date lastUpdated; + private LocalDate lastUpdated; private ArrayList items; - public Menu(Date d, ArrayList i) { - this.lastUpdated = d; - this.items = i; + public Menu(LocalDate date, ArrayList items) { + this.lastUpdated = date; + this.items = items; } - public void setLastUpdated(Date lastUpdated) { + public void setLastUpdated(LocalDate lastUpdated) { this.lastUpdated = lastUpdated; } @@ -20,13 +20,31 @@ public void setItems(ArrayList items) { this.items = items; } - public Date getLastUpdated() { + public LocalDate getLastUpdated() { return lastUpdated; } public ArrayList getItems() { return items; } + + @Override + public String toString() { + return "Menu: " + "\n" + + "lastUpdated=" + lastUpdated + "\n" + + items ; + } + + public void addMenuItem (MenuItem newItem) { + this.items.add(newItem); + this.setLastUpdated(LocalDate.now()); + } + + public void removeMenuItem(MenuItem item) { + this.items.remove(item); + this.setLastUpdated(LocalDate.now()); + } } + 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..e983cb751 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,16 +1,28 @@ package org.launchcode; +import java.time.LocalDate; +import java.util.Objects; +import java.time.temporal.ChronoUnit; + + + public class MenuItem { + private String name; private double price; private String description; private String category; + private LocalDate dateAdded; + private boolean isNew; - 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, double price, String description, String category, LocalDate dateAdded, boolean isNew) { + this.name = name; + this.price = price; + this.description = description; + this.category = category; + this.dateAdded = dateAdded; + this.isNew = isNew; + } public void setPrice(double price) { @@ -26,7 +38,43 @@ public void setCategory(String category) { } public void setNew(boolean aNew) { - isNew = aNew; + this.isNew = aNew; + } + public boolean getNew() { + return isNew; + } + + public void setDateAdded(LocalDate dateAdded) {this.dateAdded = dateAdded;} + + public void calculateIsNew() { + LocalDate now = LocalDate.now(); + long difference = ChronoUnit.DAYS.between(this.dateAdded, now); + if (difference < 31) { + this.setNew(true); + } else { + this.setNew(false); + } + } + + @Override + public String toString() { + return name + "\n" + + " price= $" + price + "\n" + + " description= " + description + "\n" + + " category= " + category + "\n" + "\n"; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + MenuItem menuItem = (MenuItem) o; + return Objects.equals(name, menuItem.name); + } + + @Override + public int hashCode() { + return Objects.hash(name); } } diff --git a/classes-part-2/studio/src/main/java/org/launchcode/Restaurant.java b/classes-part-2/studio/src/main/java/org/launchcode/Restaurant.java new file mode 100644 index 000000000..28e7776df --- /dev/null +++ b/classes-part-2/studio/src/main/java/org/launchcode/Restaurant.java @@ -0,0 +1,24 @@ +package org.launchcode; +import java.time.LocalDate; +import java.util.ArrayList; + +public class Restaurant { + public static void main(String[] args) { + + + MenuItem greenEggsAndHam = new MenuItem("Green Eggs and Ham", 10.00, "delicious green eggs and ham!", "breakfast", LocalDate.now().minusDays(40), true); + System.out.println(greenEggsAndHam); + MenuItem porridge = new MenuItem("Goldilocks' Porridge", 6.00, "Oatmeal at just the right temp!", "breakfast", LocalDate.now(), true); + ArrayList menuItems = new ArrayList<>(); + menuItems.add(greenEggsAndHam); + menuItems.add(porridge); + Menu menu = new Menu(LocalDate.now(),menuItems); + MenuItem blueberryPancakes = new MenuItem("Blueberry Pancakes", 13.00, "a delicious stack of pancakes", "breakfast", LocalDate.now(), true); + menu.addMenuItem(blueberryPancakes); + menu.removeMenuItem(blueberryPancakes); + System.out.println(menu); + greenEggsAndHam.calculateIsNew(); + System.out.println(greenEggsAndHam.getNew()); + } +} + diff --git a/classes-part-one/exercises/src/main/java/Course.java b/classes-part-one/exercises/src/main/java/Course.java new file mode 100644 index 000000000..beb40ca10 --- /dev/null +++ b/classes-part-one/exercises/src/main/java/Course.java @@ -0,0 +1,8 @@ +package main.java; +import java.util.ArrayList; + +public class Course { + private String name; + private int numberOfCredits= 0; + private ArrayList enrolledStudents; +} diff --git a/classes-part-one/exercises/src/main/java/Student.java b/classes-part-one/exercises/src/main/java/Student.java index d06997866..1d24c259d 100644 --- a/classes-part-one/exercises/src/main/java/Student.java +++ b/classes-part-one/exercises/src/main/java/Student.java @@ -1,10 +1,45 @@ +package main.java; + public class Student { private String name; private int studentId; private int numberOfCredits = 0; private double gpa = 0.0; + + public Student(String name, int studentId, int numberOfCredits, double gpa) { + this.name = name; + this.studentId = studentId; + this.numberOfCredits = numberOfCredits; + this.gpa = gpa; + } // Drop your getters and setters below for the Student class. + public String getName() { + return name; + } + public void setName(String aName){ + this.name = aName; + } + public int getStudentId() { + return studentId; + } + public void setStudentId(int aStudentId){ + this.studentId = aStudentId; + } + public int getNumberOfCredits(){ + return numberOfCredits; + } + public void setNumberOfCredits(int aNumberOfCredits){ + this.numberOfCredits = aNumberOfCredits; + } + public double getGpa() { + return gpa; + } + public void setGpa(double aGpa){ + this.gpa = aGpa; + } + + // To instantiate the Student class, add your code to the main in the file, SchoolPractice. } diff --git a/classes-part-one/exercises/src/main/java/StudentPractice.java b/classes-part-one/exercises/src/main/java/StudentPractice.java index bb0c0eb7e..a83e3aad5 100644 --- a/classes-part-one/exercises/src/main/java/StudentPractice.java +++ b/classes-part-one/exercises/src/main/java/StudentPractice.java @@ -1,5 +1,7 @@ +package main.java; + public class StudentPractice { - public static void main(String[] args){ - //insantiate your Student class below + public static void main(String[] args) { + Student sloane = new Student("Sloane", 52, 1, 4.0); } } diff --git a/classes-part-one/exercises/src/main/java/Teacher.java b/classes-part-one/exercises/src/main/java/Teacher.java new file mode 100644 index 000000000..9eeae8828 --- /dev/null +++ b/classes-part-one/exercises/src/main/java/Teacher.java @@ -0,0 +1,38 @@ +package main.java; + +public class Teacher { + private String firstName; + private String lastName; + private String subject; + private int yearsTeaching; + + public String getFirstName() { + return firstName; + } + public String getLastName() { + return lastName; + } + public String getSubject() { + return subject; + } + + public int getYearsTeaching() { + return yearsTeaching; + } + + public void setFirstName(String aFirstName) { + this.firstName = aFirstName; + } + + public void setLastName(String aLastName) { + this.lastName = aLastName; + } + + public void setSubject(String aSubject) { + this.subject = aSubject; + } + + public void setYearsTeaching(int aYearsTeaching) { + this.yearsTeaching = aYearsTeaching; + } +} diff --git a/classes-part-one/studio/restaurant-menu/src/main/java/org/launchcode/Main.java b/classes-part-one/studio/restaurant-menu/src/main/java/org/launchcode/Main.java index cad5849f1..3918eb255 100644 --- a/classes-part-one/studio/restaurant-menu/src/main/java/org/launchcode/Main.java +++ b/classes-part-one/studio/restaurant-menu/src/main/java/org/launchcode/Main.java @@ -3,6 +3,10 @@ public class Main { public static void main(String[] args) { - // write your code here + MenuItem bananaPancake = new MenuItem(10.00, "pancakes made with bananas and walnuts", "entree", true); + System.out.println(bananaPancake.getprice()); + MenuItem oatmeal = new MenuItem(6.00, "steel cut oatmeal", "entree", true); + Menu breakfastMenu = new Menu(082323, bananaPancake, oatmeal); + System.out.println(breakfastMenu.getItems()); } } diff --git a/classes-part-one/studio/restaurant-menu/src/main/java/org/launchcode/MenuItem.java b/classes-part-one/studio/restaurant-menu/src/main/java/org/launchcode/MenuItem.java index 776c2764d..372c1c1d2 100644 --- a/classes-part-one/studio/restaurant-menu/src/main/java/org/launchcode/MenuItem.java +++ b/classes-part-one/studio/restaurant-menu/src/main/java/org/launchcode/MenuItem.java @@ -28,4 +28,6 @@ public void setCategory(String category) { public void setNew(boolean aNew) { isNew = aNew; } + + public double getprice() {return price;} } diff --git a/control-flow-and-collections/exercises/collections-exercises/src/main.java.org.launchcode/ArrayListFiveLetter.java b/control-flow-and-collections/exercises/collections-exercises/src/main.java.org.launchcode/ArrayListFiveLetter.java new file mode 100644 index 000000000..442b1f2fb --- /dev/null +++ b/control-flow-and-collections/exercises/collections-exercises/src/main.java.org.launchcode/ArrayListFiveLetter.java @@ -0,0 +1,17 @@ +package main.java.org.launchcode; +import java.util.ArrayList; +import java.util.Scanner; + +public class ArrayListFiveLetter { + + public static void fiveLetter(ArrayList arr) { + Scanner input = new Scanner (System.in); + System.out.println("Please enter a number"); + Double inputNumber = input.nextDouble(); + for (String str: arr) { + if (str.length() == inputNumber) { + System.out.println(str); + } + } + } +} diff --git a/control-flow-and-collections/exercises/collections-exercises/src/main.java.org.launchcode/ArrayListPractice.java b/control-flow-and-collections/exercises/collections-exercises/src/main.java.org.launchcode/ArrayListPractice.java new file mode 100644 index 000000000..5c8edaa83 --- /dev/null +++ b/control-flow-and-collections/exercises/collections-exercises/src/main.java.org.launchcode/ArrayListPractice.java @@ -0,0 +1,39 @@ +package main.java.org.launchcode; +import java.util.ArrayList; +import java.util.Arrays; + +public class ArrayListPractice { + public static void main(String[] args) { + ArrayList arrayListExample = new ArrayList<>(); + arrayListExample.add(5); + arrayListExample.add(7); + arrayListExample.add(4); + arrayListExample.add(2); + arrayListExample.add(4); + arrayListExample.add(1); + arrayListExample.add(3); + arrayListExample.add(8); + arrayListExample.add(3); + arrayListExample.add(5); + + System.out.println(ArrayListSumMethod.getSum(arrayListExample)); + + ArrayList fruit = new ArrayList<> (); + fruit.add("pear"); + fruit.add("apple"); + fruit.add("banana"); + fruit.add("orange"); + fruit.add("cherry"); + fruit.add("peach"); + ArrayListFiveLetter.fiveLetter(fruit); + + String sentence = "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[] newArray = sentence.split(" "); + ArrayList strList = new ArrayList ( + Arrays.asList(newArray)); + + for (String s: strList) { + System.out.println(s); + } + } +} diff --git a/control-flow-and-collections/exercises/collections-exercises/src/main.java.org.launchcode/ArrayListSumMethod.java b/control-flow-and-collections/exercises/collections-exercises/src/main.java.org.launchcode/ArrayListSumMethod.java new file mode 100644 index 000000000..c592201b0 --- /dev/null +++ b/control-flow-and-collections/exercises/collections-exercises/src/main.java.org.launchcode/ArrayListSumMethod.java @@ -0,0 +1,14 @@ +package main.java.org.launchcode; +import java.util.ArrayList; + +public class ArrayListSumMethod { + public static int getSum(ArrayList arr) { + int sum = 0; + for (int integer: arr) { + if (integer % 2 == 0) { + sum += integer; + } + } + return sum; + } +} diff --git a/control-flow-and-collections/exercises/collections-exercises/src/main.java.org.launchcode/ArrayPractice.java b/control-flow-and-collections/exercises/collections-exercises/src/main.java.org.launchcode/ArrayPractice.java new file mode 100644 index 000000000..653fe9f6e --- /dev/null +++ b/control-flow-and-collections/exercises/collections-exercises/src/main.java.org.launchcode/ArrayPractice.java @@ -0,0 +1,13 @@ +package main.java.org.launchcode; + +public class ArrayPractice { + public static void main(String[] args) { + int[] values = {1, 1, 2, 3, 5, 8}; + int i; + for (i = 0; i < values.length; i++) { + if (values[i] % 2 != 0) { + System.out.println(values[i]); + } + } + } +} diff --git a/control-flow-and-collections/exercises/collections-exercises/src/main.java.org.launchcode/ArrayPracticeString.java b/control-flow-and-collections/exercises/collections-exercises/src/main.java.org.launchcode/ArrayPracticeString.java new file mode 100644 index 000000000..1ee0fbc87 --- /dev/null +++ b/control-flow-and-collections/exercises/collections-exercises/src/main.java.org.launchcode/ArrayPracticeString.java @@ -0,0 +1,10 @@ +package main.java.org.launchcode; +import java.util.Arrays; + +public class ArrayPracticeString { + public static void main(String[] args) { + String sentence = "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[] newArray = sentence.split("\\."); + System.out.println(Arrays.toString(newArray)); + } +} diff --git a/control-flow-and-collections/exercises/collections-exercises/src/main.java.org.launchcode/HashMapPractice.java b/control-flow-and-collections/exercises/collections-exercises/src/main.java.org.launchcode/HashMapPractice.java new file mode 100644 index 000000000..6fac6fb47 --- /dev/null +++ b/control-flow-and-collections/exercises/collections-exercises/src/main.java.org.launchcode/HashMapPractice.java @@ -0,0 +1,45 @@ +package org.launchcode; + +import java.util.HashMap; +import java.util.Map; +import java.util.Scanner; + +public class HashMapPractice { + + public static void main(String[] args) { + + HashMap students = new HashMap<>(); + Scanner input = new Scanner(System.in); + String newStudent; + + System.out.println("Enter your students (or ENTER to finish):"); + + // Get student names and ids + do { + + System.out.print("Student: "); + newStudent = input.nextLine(); + + if (!newStudent.equals("")) { + System.out.print("ID: "); + Integer newID = input.nextInt(); + students.put(newID, newStudent); + + // Read in the newline before looping back + input.nextLine(); + } + } while (!newStudent.equals("")) ; + input.close(); + + // Print class roster + System.out.println("\nClass roster:"); + for (Map.Entry student : students.entrySet()) { + System.out.println(student.getValue() + "'s ID: " + student.getKey()); + } + + System.out.println("Number of students in roster: " + students.size()); + } + + } + + diff --git a/control-flow-and-collections/studio/src/main/java/org/launchcode/Main.java b/control-flow-and-collections/studio/src/main/java/org/launchcode/Main.java new file mode 100644 index 000000000..58c3f1da9 --- /dev/null +++ b/control-flow-and-collections/studio/src/main/java/org/launchcode/Main.java @@ -0,0 +1,26 @@ +package src.main.java.org.launchcode; +import java.util.Map; +import java.util.HashMap; + +// I want to loop through the new array, which features all the characters, and count how many times each character comes up. so my new array features all the characters and i can loop through that to compare each character the +public class Main { + public static void main(String[] args) { + String str = "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."; + char[] charactersInString = str.toCharArray(); + HashMap output = new HashMap<>(); + for (int i = 0; i character : output.entrySet()) { + System.out.println(character.getKey() + ":" + character.getValue()); + } + } +} diff --git a/datatypes/datatype-examples/src/main/java/org/launchcode/HelloMethods.java b/datatypes/datatype-examples/src/main/java/org/launchcode/HelloMethods.java index a1d19ff45..3b410e9c1 100644 --- a/datatypes/datatype-examples/src/main/java/org/launchcode/HelloMethods.java +++ b/datatypes/datatype-examples/src/main/java/org/launchcode/HelloMethods.java @@ -3,7 +3,7 @@ public class HelloMethods { public static void main(String[] args) { - String message = Message.getMessage("fr"); + String message = Message.getMessage("ital"); System.out.println(message); } diff --git a/datatypes/datatype-examples/src/main/java/org/launchcode/Message.java b/datatypes/datatype-examples/src/main/java/org/launchcode/Message.java index 4da5ef5c0..99ca55a38 100644 --- a/datatypes/datatype-examples/src/main/java/org/launchcode/Message.java +++ b/datatypes/datatype-examples/src/main/java/org/launchcode/Message.java @@ -8,6 +8,8 @@ public static String getMessage(String lang) { return "¡Hola, Mundo!"; } else if (lang.equals("fr")) { return "Bonjour, le monde!"; + } else if (lang.equals("ital")) { + return "Ciao, mondo"; } else { return "Hello, World!"; } diff --git a/datatypes/datatypes-exercises/src/main/java/org/launchcode/AliceInWonderland.java b/datatypes/datatypes-exercises/src/main/java/org/launchcode/AliceInWonderland.java new file mode 100644 index 000000000..5c4c582a3 --- /dev/null +++ b/datatypes/datatypes-exercises/src/main/java/org/launchcode/AliceInWonderland.java @@ -0,0 +1,23 @@ +package org.launchcode; +import java.util.Scanner; + +public class AliceInWonderland { + public static void main(String[] args) { + String aliceQuote = "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?"; + String inputWord; + String aliceQuoteLower; + Scanner input; + input = new Scanner(System.in); + System.out.println("Please enter the word you would like to search: "); + inputWord = input.next().toLowerCase(); + aliceQuoteLower = aliceQuote.toLowerCase(); + input.close(); + System.out.println("length of the word: " + inputWord.length() + " index of word: " + aliceQuoteLower.indexOf(inputWord)); + String replacedSentence; + replacedSentence = aliceQuoteLower.replace(inputWord, ""); + System.out.println(replacedSentence); + } +} diff --git a/datatypes/datatypes-exercises/src/main/java/org/launchcode/CalculateArea.java b/datatypes/datatypes-exercises/src/main/java/org/launchcode/CalculateArea.java new file mode 100644 index 000000000..1eef34a98 --- /dev/null +++ b/datatypes/datatypes-exercises/src/main/java/org/launchcode/CalculateArea.java @@ -0,0 +1,21 @@ +package org.launchcode; +import java.util.Scanner; + +public class CalculateArea { + public static void main(String[] args) { + double length; + double width; + double area; + Scanner input; + + input = new Scanner(System.in); + System.out.println("Please enter the length of the rectangle:"); + length = input.nextDouble(); + System.out.println("Please enter the width of the rectangle:"); + width = input.nextDouble(); + input.close(); + area = width * length; + System.out.println("The area of the rectangle is 0" + area); + + } +} diff --git a/datatypes/datatypes-exercises/src/main/java/org/launchcode/InputOutput.java b/datatypes/datatypes-exercises/src/main/java/org/launchcode/InputOutput.java new file mode 100644 index 000000000..7de4ea2d1 --- /dev/null +++ b/datatypes/datatypes-exercises/src/main/java/org/launchcode/InputOutput.java @@ -0,0 +1,12 @@ +package org.launchcode; +import java.util.Scanner; + +public class InputOutput { + + 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/MilesPerGallon.java b/datatypes/datatypes-exercises/src/main/java/org/launchcode/MilesPerGallon.java new file mode 100644 index 000000000..5375cf546 --- /dev/null +++ b/datatypes/datatypes-exercises/src/main/java/org/launchcode/MilesPerGallon.java @@ -0,0 +1,20 @@ +package org.launchcode; +import java.util.Scanner; + +public class MilesPerGallon { + public static void main(String[] args) { + double distance; + double gallons; + double mpg; + Scanner input; + + input = new Scanner(System.in); + System.out.println("Please enter the distance you've traveled:"); + distance = input.nextDouble(); + System.out.println("Please enter the amount of gas you've used:"); + gallons = input.nextDouble(); + input.close(); + mpg = distance/gallons; + System.out.println("Your mpg is " + mpg + " miles/gallon"); + } +} diff --git a/datatypes/datatypes-studio/src/main/java/org/launchcode/areaOfACircle.java b/datatypes/datatypes-studio/src/main/java/org/launchcode/areaOfACircle.java new file mode 100644 index 000000000..59b7c64ea --- /dev/null +++ b/datatypes/datatypes-studio/src/main/java/org/launchcode/areaOfACircle.java @@ -0,0 +1,21 @@ +package main.java.org.launchcode; + +import java.util.Scanner; + +public class areaOfACircle { + public static void main(String[] args) { + double radius; + Scanner input; + + input = new Scanner(System.in); + System.out.println("Please enter the radius of the circle: "); + if (input.nextDouble() < 0 || input.hasNextDouble() == false || input.next() == ""){ + System.out.println("Error--wrong type of input."); + } else { + radius = input.nextDouble(); + input.close(); + double area = areaReturn.getArea(radius); + System.out.println(area); + } + } +} diff --git a/datatypes/datatypes-studio/src/main/java/org/launchcode/areaReturn.java b/datatypes/datatypes-studio/src/main/java/org/launchcode/areaReturn.java new file mode 100644 index 000000000..8a8820938 --- /dev/null +++ b/datatypes/datatypes-studio/src/main/java/org/launchcode/areaReturn.java @@ -0,0 +1,7 @@ +package main.java.org.launchcode; + +public class areaReturn { + public static Double getArea(Double radius) { + return 3.14 * radius * radius; + } +} diff --git a/java-web-dev-projects-inheritance.zip b/java-web-dev-projects-inheritance.zip new file mode 100644 index 000000000..41bd34c28 Binary files /dev/null and b/java-web-dev-projects-inheritance.zip differ diff --git a/unit-testing/chapter-example/car-example/src/test/java/org/launchcode/CarTest.java b/unit-testing/chapter-example/car-example/src/test/java/org/launchcode/CarTest.java index f7b0c6f6e..4ef363eaa 100644 --- a/unit-testing/chapter-example/car-example/src/test/java/org/launchcode/CarTest.java +++ b/unit-testing/chapter-example/car-example/src/test/java/org/launchcode/CarTest.java @@ -1,10 +1,25 @@ package org.launchcode; - +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.*; class CarTest { + Car test_car; + @BeforeEach + public void CreateCarObject() { + Car test_car = new Car("Toyota", "Prius", 10, 50); + } //TODO: add emptyTest so we can configure our runtime environment (remove this test before pushing to your personal GitLab account) + @Test + public void emptyTest() { + assertEquals(10, 10, .001); + } //TODO: constructor sets gasTankLevel properly + + @Test + public void testInitialGasTank() { + assertEquals(10, test_car.getGasTankLevel(), .001); + } //TODO: gasTankLevel is accurate after driving within tank range //TODO: gasTankLevel is accurate after attempting to drive past tank range //TODO: can't have more gas than tank size, expect an exception diff --git a/unit-testing/exercises/car-exercises/src/main/java/org/launchcode/Car.java b/unit-testing/exercises/car-exercises/src/main/java/org/launchcode/Car.java index d10c16f72..362f2444a 100644 --- a/unit-testing/exercises/car-exercises/src/main/java/org/launchcode/Car.java +++ b/unit-testing/exercises/car-exercises/src/main/java/org/launchcode/Car.java @@ -46,6 +46,9 @@ public double getGasTankLevel() { } public void setGasTankLevel(double gasTankLevel) { + if (gasTankLevel > this.getGasTankSize()) { + throw new IllegalArgumentException("Can't exceed tank size."); + } this.gasTankLevel = gasTankLevel; } @@ -84,4 +87,8 @@ public void drive(double miles) this.odometer += milesAbleToTravel; } + public void addGas(double gas) { + this.setGasTankLevel(gas + this.getGasTankLevel()); + } + } 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..ba27def02 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 @@ -26,6 +26,22 @@ public void testInitialGasTank() { } //TODO: gasTankLevel is accurate after driving within tank range + + @Test + public void testGasTankAfterDriving() { + test_car.drive(50); + assertEquals(9, test_car.getGasTankLevel(), 0.001); + } //TODO: gasTankLevel is accurate after attempting to drive past tank range + @Test + public void testGasTankAfterExceedingTankRange() { + test_car.drive(500); + assertEquals(0, test_car.getGasTankLevel(), 0.001); + } + //TODO: can't have more gas than tank size, expect an exception //TODO: can't have more gas than tank size, expect an exception + @Test() + public void testGasOverfillException() { + assertThrows(IllegalArgumentException.class, () -> test_car.addGas(5), "Shouldn't get here, car cannot have more gas in tank than the size of the tank" ); + } } \ No newline at end of file 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..67541801e 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 @@ -26,8 +26,14 @@ public static boolean hasBalancedBrackets(String str) { brackets++; } else if (ch == ']') { brackets--; + if (brackets < 0) { + return false; + + } } } - return brackets == 0; - } + return brackets == 0; + } + + } \ No newline at end of file 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..f6641e5f8 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 @@ -10,4 +10,58 @@ class BalancedBracketsTest { public void emptyTest() { assertEquals(true, true); } + + @Test + public void onlyBracketsReturnTrue() { + assertTrue(BalancedBrackets.hasBalancedBrackets("[]"));} + + @Test + public void onlyFirstBracketReturnFalse() { + assertFalse(BalancedBrackets.hasBalancedBrackets("[")); + } + + @Test + public void onlySecondBracketReturnFalse() { + assertFalse(BalancedBrackets.hasBalancedBrackets("]")); + } + + @Test + public void bracketsWithLetterInsideBalancedReturnTrue() { + assertTrue(BalancedBrackets.hasBalancedBrackets("[g]")); + } + + @Test + public void twoOpeningAndOneClosingAssertFalse() { + assertFalse(BalancedBrackets.hasBalancedBrackets("[[]")); + } + @Test + public void twoClosingAndOneOpeningAssertFalse() { + assertFalse(BalancedBrackets.hasBalancedBrackets("[]]")); + } + + @Test + public void flippedBracketsShouldFail() { + assertFalse(BalancedBrackets.hasBalancedBrackets("][")); + } + + @Test + public void twoBracketsFlippedWithCharacters() { + assertFalse(BalancedBrackets.hasBalancedBrackets("]8d[")); + } + + @Test + public void firstBracketCurly() { + assertFalse(BalancedBrackets.hasBalancedBrackets("[}")); + + } + + @Test + public void secondBracketCurly() { + assertFalse(BalancedBrackets.hasBalancedBrackets("[}")); + } + + @Test + public void nestedBracketsBalancedTrue() { + assertTrue(BalancedBrackets.hasBalancedBrackets("str[ing]")); + } } \ No newline at end of file