From d2c871049bca8ff268e74901e5fceb98bf4f1134 Mon Sep 17 00:00:00 2001 From: Volodymyr00 Date: Fri, 17 Jan 2020 17:29:07 +0200 Subject: [PATCH 1/3] Added Stock part --- .gitignore | 3 +++ com/com/src/Collection.java | 36 ++++++++++++++++++++++++++++++++++++ com/src/Iterator.java | 7 +++++++ com/src/Main.java | 25 +++++++++++++++++++++++++ 4 files changed, 71 insertions(+) create mode 100644 .gitignore create mode 100644 com/com/src/Collection.java create mode 100644 com/src/Iterator.java create mode 100644 com/src/Main.java diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..92409ee --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +/.idea/ +README.md +pointer-nested-classes.iml diff --git a/com/com/src/Collection.java b/com/com/src/Collection.java new file mode 100644 index 0000000..40df143 --- /dev/null +++ b/com/com/src/Collection.java @@ -0,0 +1,36 @@ +package com.src; + +import java.util.Iterator; + +public class Collection { + + private Object[] objects; + + public Collection(Object[] objects) { + this.objects = objects; + } + + public DirectTwinIterator directIterator() { + return new DirectTwinIterator(); + } + + public class DirectTwinIterator implements Iterator { + + private int index; + + @Override + public boolean hasNext() { + return index < objects.length; + } + + @Override + public Object next() { + if (index % 2 == 0) { + return objects[index++]; + } + index++; + return null; + } + } +} + diff --git a/com/src/Iterator.java b/com/src/Iterator.java new file mode 100644 index 0000000..ce2fed8 --- /dev/null +++ b/com/src/Iterator.java @@ -0,0 +1,7 @@ +package com.src; + +public interface Iterator { + boolean hasNext(); + + Integer next(); +} diff --git a/com/src/Main.java b/com/src/Main.java new file mode 100644 index 0000000..0e7d21f --- /dev/null +++ b/com/src/Main.java @@ -0,0 +1,25 @@ +package com.src; + +import java.util.Iterator; + +public class Main { + + public static void main(String[] args) { + + Collection collection = new Collection(new Integer[]{10, 14, 18,19,44,37, 73}); + + + Iterator iterator = collection.directIterator(); + Iterator iterator2 = collection.directIterator(); + display(iterator); + display(iterator2); + + } + + + static void display(Iterator iterator) { + while (iterator.hasNext()) { + System.out.println(iterator.next()); + } + } +} From 9e6d7322ed1136adeb85f44f1235a65eb6e8c692 Mon Sep 17 00:00:00 2001 From: Volodymyr00 Date: Tue, 21 Jan 2020 13:20:29 +0200 Subject: [PATCH 2/3] Added commit --- com/{com => }/src/Collection.java | 9 +++------ com/src/Iterator.java | 7 +++---- com/src/Main.java | 6 ++---- 3 files changed, 8 insertions(+), 14 deletions(-) rename com/{com => }/src/Collection.java (84%) diff --git a/com/com/src/Collection.java b/com/src/Collection.java similarity index 84% rename from com/com/src/Collection.java rename to com/src/Collection.java index 40df143..a79c60f 100644 --- a/com/com/src/Collection.java +++ b/com/src/Collection.java @@ -1,6 +1,4 @@ -package com.src; - -import java.util.Iterator; +package src; public class Collection { @@ -14,7 +12,7 @@ public DirectTwinIterator directIterator() { return new DirectTwinIterator(); } - public class DirectTwinIterator implements Iterator { + private class DirectTwinIterator implements Iterator { private int index; @@ -32,5 +30,4 @@ public Object next() { return null; } } -} - +} \ No newline at end of file diff --git a/com/src/Iterator.java b/com/src/Iterator.java index ce2fed8..6b0b1e4 100644 --- a/com/src/Iterator.java +++ b/com/src/Iterator.java @@ -1,7 +1,6 @@ -package com.src; +package src; public interface Iterator { - boolean hasNext(); - - Integer next(); + boolean hasNext(); + Object next(); } diff --git a/com/src/Main.java b/com/src/Main.java index 0e7d21f..65928bf 100644 --- a/com/src/Main.java +++ b/com/src/Main.java @@ -1,12 +1,10 @@ -package com.src; - -import java.util.Iterator; +package src; public class Main { public static void main(String[] args) { - Collection collection = new Collection(new Integer[]{10, 14, 18,19,44,37, 73}); + Collection collection = new Collection(new Integer[]{10, 11, 12,13,14,15}); Iterator iterator = collection.directIterator(); From ffb691bdc350d82bbd0ebf733940b07d581d0cea Mon Sep 17 00:00:00 2001 From: Volodymyr00 Date: Tue, 21 Jan 2020 17:35:23 +0200 Subject: [PATCH 3/3] Added result --- com/src/Collection.java | 66 ++++++++++++++++++----- com/src/Iterator.java | 1 + com/src/IteratorForEveryFifthElement.java | 38 +++++++++++++ com/src/Main.java | 49 ++++++++++++----- 4 files changed, 129 insertions(+), 25 deletions(-) create mode 100644 com/src/IteratorForEveryFifthElement.java diff --git a/com/src/Collection.java b/com/src/Collection.java index a79c60f..1f70ce0 100644 --- a/com/src/Collection.java +++ b/com/src/Collection.java @@ -2,32 +2,72 @@ public class Collection { - private Object[] objects; + private Integer[] integers; - public Collection(Object[] objects) { - this.objects = objects; + public Collection(Integer[] integers) { + this.integers = integers; } - public DirectTwinIterator directIterator() { - return new DirectTwinIterator(); + public Integer[] getIntegers() { + return integers; } - private class DirectTwinIterator implements Iterator { + public void setIntegers(Integer[] integers) { + this.integers = integers; + } + + public static class FirstIteratorImplementator implements Iterator { + private Integer[] integers; + + public FirstIteratorImplementator(Integer[] integers) { + this.integers = integers; + } + + public Integer[] getIntegers() { + return integers; + } + + + @Override + public boolean hasNext() { + for (int i = 0; i < integers.length; i++) { + System.out.println(integers[i]); + } + return false; + } + + + @Override + public Object next() { + for (int i = 0; i < integers.length; i++) { + if (i % 2 != 0) { + integers[i] = null; + } + System.out.println(integers[i]); + } + return integers; + } + } + + public static class secondIteratorImplementator implements Iterator { + private Integer[] integers; + + public secondIteratorImplementator(Integer[] integers) { + this.integers = integers; + } - private int index; @Override public boolean hasNext() { - return index < objects.length; + return false; } @Override public Object next() { - if (index % 2 == 0) { - return objects[index++]; + for (int i = 0; i < integers.length; i += 2) { + System.out.println(integers[i]); } - index++; - return null; + return integers; } } -} \ No newline at end of file +} diff --git a/com/src/Iterator.java b/com/src/Iterator.java index 6b0b1e4..34a6460 100644 --- a/com/src/Iterator.java +++ b/com/src/Iterator.java @@ -2,5 +2,6 @@ public interface Iterator { boolean hasNext(); + Object next(); } diff --git a/com/src/IteratorForEveryFifthElement.java b/com/src/IteratorForEveryFifthElement.java new file mode 100644 index 0000000..9759bcd --- /dev/null +++ b/com/src/IteratorForEveryFifthElement.java @@ -0,0 +1,38 @@ +package src; + +public class IteratorForEveryFifthElement { + private Integer[] integers; + + public IteratorForEveryFifthElement(Integer[] integers) { + this.integers = integers; + } + + public Integer[] getIntegers() { + return integers; + } + + public void setIntegers(Integer[] integers) { + this.integers = integers; + } + + public void iterateEveryFifthElemant(Integer[] inputtedIntegers) { + for (int i = 0; i < inputtedIntegers.length; i += 5) { + if (inputtedIntegers[i] % 2 == 0) { + inputtedIntegers[i] -= 100; + System.out.println(inputtedIntegers[i]); + } + } + } + + public static class InsideIterator { + public static void changeNumberIfItOdd(Integer[] inputtedIntegers) { + for (int i = 0; i < inputtedIntegers.length; i += 2) { + if (inputtedIntegers[i] % 2 == 0) { + inputtedIntegers[i] += 1; + System.out.println(inputtedIntegers[i]); + } + } + + } + } +} diff --git a/com/src/Main.java b/com/src/Main.java index 65928bf..42bbe68 100644 --- a/com/src/Main.java +++ b/com/src/Main.java @@ -4,20 +4,45 @@ public class Main { public static void main(String[] args) { - Collection collection = new Collection(new Integer[]{10, 11, 12,13,14,15}); - - - Iterator iterator = collection.directIterator(); - Iterator iterator2 = collection.directIterator(); - display(iterator); - display(iterator2); - + Collection FirstCollection = new Collection(new Integer[]{10, 11, 12, 13, 14, 15, 5, 4, 54, 185, 945, 645, 64, 6, 84, 68, 4, 684, 68, 4, 48, 684, 7165}); + Collection secondCollection = new Collection(new Integer[]{10, 11, 12, 13, 14, 15, 5, 4, 54, 185, 945, 645, 64, 6, 84, 68, 4, 684, 68, 4, 48, 684, 7165}); + Collection thirdCollection = new Collection(new Integer[]{10, 11, 12, 13, 14, 15, 5, 4, 54, 185, 945, 645, 64, 6, 84, 68, 4, 684, 68, 4, 48, 684, 7165}); + Collection fourthCollection = new Collection(new Integer[]{10, 11, 12, 13, 14, 15, 5, 4, 54, 185, 945, 645, 64, 6, 84, 68, 4, 684, 68, 4, 48, 684, 7165}); + Collection fifthCollection = new Collection(new Integer[]{10, 11, 12, 13, 14, 15, 5, 4, 54, 185, 945, 645, 64, 6, 84, 68, 4, 684, 68, 4, 48, 684, 7165}); + Iterator iterator = new Collection.FirstIteratorImplementator(thirdCollection.getIntegers()) { + public boolean hasNext() { + return false; + } + + @Override + public Object next() { + printEveritThirdElementIfInEven(getIntegers()); + return getIntegers(); + + } + }; + System.out.println("First"); + Collection.FirstIteratorImplementator FirstImplementator = new Collection.FirstIteratorImplementator(FirstCollection.getIntegers()); + FirstImplementator.next(); + FirstImplementator.hasNext(); + + + System.out.println("\nSecond"); + Collection.secondIteratorImplementator secondImplementator = new Collection.secondIteratorImplementator(secondCollection.getIntegers()); + secondImplementator.next(); + + System.out.println("\n Third"); + iterator.next(); + + System.out.println("\n Fourth"); + IteratorForEveryFifthElement.InsideIterator.changeNumberIfItOdd(fifthCollection.getIntegers()); } - - static void display(Iterator iterator) { - while (iterator.hasNext()) { - System.out.println(iterator.next()); + private static void printEveritThirdElementIfInEven(Integer[] ints) { + for (int i = 0; i < ints.length; i += 3) { + if (ints[i] % 2 != 0) { + System.out.println(ints[i]); + } } } }