diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..d343378 --- /dev/null +++ b/pom.xml @@ -0,0 +1,19 @@ + + + 4.0.0 + + armstrong.alexandra + Reusing_Classes_Labs + 1.0-SNAPSHOT + + + + junit + junit + 4.12 + + + + \ No newline at end of file diff --git a/src/main/java/armstrong/alexandra/Reusing_Classes_1.java b/src/main/java/armstrong/alexandra/Reusing_Classes_1.java new file mode 100644 index 0000000..693ebe5 --- /dev/null +++ b/src/main/java/armstrong/alexandra/Reusing_Classes_1.java @@ -0,0 +1,39 @@ +package armstrong.alexandra; + +import java.util.*; + +/** + * Created by alexandraarmstrong on 1/18/17. + */ +public class Reusing_Classes_1 extends ArrayList { + public static void main(String[] args){ + int [] arr = {1, 2, 3, 4, 5, 6, 7, 8}; + int k = 4; + + for (int x : arr){ + System.out.print(x); + } + + count(arr, k); + + for (int x : arr){ + System.out.print(x); + } + } + + public static int[] rotate(int[] arr){ + int temp = arr[0]; + for(int i = 0; i < arr.length - 1; i++){ + arr[i] = arr[i + 1]; + } + arr[arr.length - 1] = temp; + return arr; + } + + public static int[] count(int[] arr, int k){ + for(int i = 0; i < k; i++) { + rotate(arr); + } + return arr; + } +} diff --git a/src/main/java/armstrong/alexandra/Reusing_Classes_2.java b/src/main/java/armstrong/alexandra/Reusing_Classes_2.java new file mode 100644 index 0000000..8c29f68 --- /dev/null +++ b/src/main/java/armstrong/alexandra/Reusing_Classes_2.java @@ -0,0 +1,135 @@ +package armstrong.alexandra; + +/** + * Created by alexandraarmstrong on 1/18/17. + */ +public class Reusing_Classes_2 { + public static void main(String[] args){ + Human dude = new Human(); + Human dudette = new Human(); + SuperHuman superDude = new SuperHuman(); + SuperHuman superDudette = new SuperHuman(); + + dude.setAddress("423 west west street, Boring DE 19830"); + dudette.setGender("Male"); + + superDude.setGender("Male"); + superDude.setAbility("Talking"); + + System.out.println(dude.address); + System.out.println(dudette.gender); + System.out.println(superDude.gender); + System.out.println(superDude.ability); + + } +} + +class Human{ + String name; + int age; + String gender; + String occupation; + String address; + + public String getName(){ + return name; + } + + public void setName(String name){ + this.name = name; + } + + public void printName(){ + System.out.println(name); + } + + public int getAge() { + return age; + } + + public void setAge(int age) { + this.age = age; + } + + public void printAge(){ + System.out.println(age); + } + + public String getGender() { + return gender; + } + + public void setGender(String gender) { + this.gender = gender; + } + + public void printGender(){ + System.out.println(gender); + } + + public String getOccupation() { + return occupation; + } + + public void setOccupation(String occupation) { + this.occupation = occupation; + } + + public void printOccupation(){ + System.out.println(occupation); + } + + public String getAddress() { + return address; + } + + public void setAddress(String address) { + this.address = address; + } + + public void printAddress(){ + System.out.println(address); + } +} + +class SuperHuman extends Human{ + boolean good; + String heroName; + String ability; + + public boolean isGood() { + return good; + } + + public void setGood(boolean good) { + this.good = good; + } + + public void printGood(){ + System.out.println(good); + } + + public String getHeroName() { + return heroName; + } + + public void setHeroName(String heroName) { + this.heroName = heroName; + } + + public void printHeroName(){ + System.out.println(heroName); + } + + public String getAbility() { + return ability; + } + + public void setAbility(String ability) { + this.ability = ability; + } + + public void printAbility(){ + System.out.println(ability); + } +} diff --git a/src/main/java/armstrong/alexandra/Reusing_Classes_3.java b/src/main/java/armstrong/alexandra/Reusing_Classes_3.java new file mode 100644 index 0000000..32d2d51 --- /dev/null +++ b/src/main/java/armstrong/alexandra/Reusing_Classes_3.java @@ -0,0 +1,73 @@ +package armstrong.alexandra; + +import java.util.ArrayList; +import java.util.HashMap; + +/** + * Created by alexandraarmstrong on 1/18/17. + */ +public class Reusing_Classes_3 { + public static void main(String[] args){ + Inventory inventory = new Inventory(); + Product apple = new Product(0.20, "Apple", 42); + Product banana = new Product(0.05, "Banana", 184); + Product pear = new Product(0.40, "Pear", 28); + + inventory.addInventory(apple.getId(), apple); + inventory.addInventory(banana.getId(), banana); + inventory.addInventory(pear.getId(), pear); + + System.out.println(inventory.oneItemTotalValue("Pear")); + + apple.setQuantity(18); + + System.out.println(apple.getQuantity()); + + + } +} + +class Product{ + double price; + String id; + int quantity; + + Product(double price, String id, int quantity){ + this.price = price; + this.id = id; + this.quantity = quantity; + } + + public double getPrice() { + return price; + } + + public String getId() { + return id; + } + + public int getQuantity() { + return quantity; + } + + public void setQuantity(int quantity) { + this.quantity = quantity; + } +} + +class Inventory{ + + HashMap inventory = new HashMap(); + + public HashMap getInventory() { + return inventory; + } + + public void addInventory(String name, Product item) { + inventory.put(name, item); + } + + public double oneItemTotalValue(String name){ + return inventory.get(name).price * inventory.get(name).quantity; + } +} diff --git a/src/main/java/armstrong/alexandra/Reusing_Classes_4.java b/src/main/java/armstrong/alexandra/Reusing_Classes_4.java new file mode 100644 index 0000000..82a4a70 --- /dev/null +++ b/src/main/java/armstrong/alexandra/Reusing_Classes_4.java @@ -0,0 +1,54 @@ +package armstrong.alexandra; + +/** + * Created by alexandraarmstrong on 1/18/17. + */ +public class Reusing_Classes_4 { + public static void main(String[] args){ + CheckingAccount ca = new CheckingAccount(); + SavingsAccount sa = new SavingsAccount(); + BusinessAccount ba = new BusinessAccount(); + + ca.credit(126); + ca.debit(43); + + ba.credit(65); + ba.debit(10); + + sa.credit(9384); + sa.debit(45); + + System.out.println("Business Account balance " + ba.getBalance()); + System.out.println("Savings Account balance " + sa.getBalance()); + System.out.println("Checking Account balance " + ca.getBalance()); + + } +} + +abstract class BankAccount{ + double balance; + + public double getBalance() { + return balance; + } + + public void debit(double amount) { + balance -= amount; + } + + public void credit(double amount) { + balance += amount; + } +} + +class CheckingAccount extends BankAccount{ + +} + +class SavingsAccount extends BankAccount{ + +} + +class BusinessAccount extends BankAccount{ + +} \ No newline at end of file diff --git a/src/test/java/armstrong/alexandra/Reusing_Classes_1Test.java b/src/test/java/armstrong/alexandra/Reusing_Classes_1Test.java new file mode 100644 index 0000000..7589191 --- /dev/null +++ b/src/test/java/armstrong/alexandra/Reusing_Classes_1Test.java @@ -0,0 +1,28 @@ +package armstrong.alexandra; + +import org.junit.Test; + +import static junit.framework.TestCase.assertEquals; +import static org.junit.Assert.assertArrayEquals; + +/** + * Created by alexandraarmstrong on 1/18/17. + */ +public class Reusing_Classes_1Test { + @Test + public void rotateTest(){ + int[] arr = {1, 2, 3, 4}; + int[] expected = {2, 3, 4, 1}; + int[] actual = Reusing_Classes_1.rotate(arr); + assertArrayEquals(expected, actual); + } + + @Test + public void countTest(){ + int[] arr = {1, 2, 3, 4}; + int k = 2; + int[] expected = {3, 4, 1, 2}; + int[] actual = Reusing_Classes_1.count(arr, k); + assertArrayEquals(expected, actual); + } +} diff --git a/src/test/java/armstrong/alexandra/Reusing_Classes_2Test.java b/src/test/java/armstrong/alexandra/Reusing_Classes_2Test.java new file mode 100644 index 0000000..7df017e --- /dev/null +++ b/src/test/java/armstrong/alexandra/Reusing_Classes_2Test.java @@ -0,0 +1,7 @@ +package armstrong.alexandra; + +/** + * Created by alexandraarmstrong on 1/18/17. + */ +public class Reusing_Classes_2Test { +} diff --git a/src/test/java/armstrong/alexandra/Reusing_Classes_3Test.java b/src/test/java/armstrong/alexandra/Reusing_Classes_3Test.java new file mode 100644 index 0000000..c911935 --- /dev/null +++ b/src/test/java/armstrong/alexandra/Reusing_Classes_3Test.java @@ -0,0 +1,7 @@ +package armstrong.alexandra; + +/** + * Created by alexandraarmstrong on 1/18/17. + */ +public class Reusing_Classes_3Test { +} diff --git a/src/test/java/armstrong/alexandra/Reusing_Classes_4Test.java b/src/test/java/armstrong/alexandra/Reusing_Classes_4Test.java new file mode 100644 index 0000000..29abc17 --- /dev/null +++ b/src/test/java/armstrong/alexandra/Reusing_Classes_4Test.java @@ -0,0 +1,7 @@ +package armstrong.alexandra; + +/** + * Created by alexandraarmstrong on 1/18/17. + */ +public class Reusing_Classes_4Test { +}