Randall Gibson Jr vor 6 Jahren
Ursprung
Commit
5a8659dc26
3 geänderte Dateien mit 144 neuen und 66 gelöschten Zeilen
  1. 60
    1
      IntegerDuplicateDeleter.java
  2. 47
    1
      StringDuplicateDeleter.java
  3. 37
    64
      package.bluej

+ 60
- 1
IntegerDuplicateDeleter.java Datei anzeigen

2
 
2
 
3
 
3
 
4
 public class IntegerDuplicateDeleter extends DuplicateDeleter<Integer>{
4
 public class IntegerDuplicateDeleter extends DuplicateDeleter<Integer>{
5
-
5
+    
6
+    public IntegerDuplicateDeleter(Integer[] array){
7
+        super(array);
8
+    }
9
+    
10
+    public Integer[] removeDuplicates(int maxNumberOfDuplications){
11
+       Integer[] newArray =new Integer[array.length];
12
+        int newArrayIndex= 0;
13
+        //go through each element in the array
14
+        for(Integer num : array) {
15
+            int occurance = countOccurance(num);
16
+            if(occurance < maxNumberOfDuplications) {
17
+                newArray[newArrayIndex] = num;
18
+                newArrayIndex++;
19
+        }
20
+       }
21
+        //count occurrance
22
+        Integer[] finalArray = new Integer[newArrayIndex];
23
+        System.arraycopy(newArray, 0, finalArray, 0, newArrayIndex);
24
+        return finalArray;
25
+    }
26
+        
27
+        
28
+    
29
+    
30
+    public Integer[] removeDuplicatesExactly(int exactNumberOfDuplications){
31
+        Integer[] newArray =new Integer[array.length];
32
+        int newArrayIndex= 0;
33
+        //go through each element in the array
34
+        for(Integer num : array) {
35
+            int occurance = countOccurance(num);
36
+            if(occurance != exactNumberOfDuplications) {
37
+                newArray[newArrayIndex] = num;
38
+                newArrayIndex++;
39
+        }
40
+       }
41
+        //count occurrance
42
+        Integer[] finalArray = new Integer[newArrayIndex];
43
+        System.arraycopy(newArray, 0, finalArray, 0, newArrayIndex);
44
+        return finalArray;
45
+     }
46
+    
47
+    private int countOccurance(Integer number){
48
+        int count =0;
49
+        for(Integer i : array) {
50
+            if(number == i) {
51
+                count++;
52
+            }
53
+            
54
+        //
55
+        //when number ==}
56
+    
57
+      }
58
+      return count;
59
+      }
60
+      
61
+     
6
 }
62
 }
63
+
64
+
65
+

+ 47
- 1
StringDuplicateDeleter.java Datei anzeigen

1
- 
2
 
1
 
3
 public final class StringDuplicateDeleter extends DuplicateDeleter<String> {
2
 public final class StringDuplicateDeleter extends DuplicateDeleter<String> {
3
+    public StringDuplicateDeleter(String[] array){
4
+        super(array);
4
 
5
 
6
+    }
7
+
8
+    private int countOccurrence(String target){
9
+        int occurrences = 0;
10
+        for(String nextOne : array){
11
+            if(nextOne.equals(target)){
12
+                occurrences ++;
13
+            }
14
+        }
15
+        return occurrences;
16
+    }
17
+
18
+    public String[] removeDuplicatesExactly(int exactNumberOfDuplications){
19
+        String[] newArray =new String[array.length];
20
+        int newArrayIndex= 0;
21
+        //go through each element in the array
22
+        for(String nextWord : array) {
23
+            int occurance = countOccurrence(nextWord);
24
+            if(occurance != (exactNumberOfDuplications)) {
25
+                newArray[newArrayIndex] = nextWord;
26
+                newArrayIndex++;
27
+            }
28
+        }
29
+        //count occurrance
30
+        String[] finalArray = new String[newArrayIndex];
31
+        System.arraycopy(newArray, 0, finalArray, 0, newArrayIndex);
32
+        return finalArray;
33
+    }
34
+    
35
+    public String[] removeDuplicates(int maxNumberOfDuplications){
36
+       String[] newArray =new String[array.length];
37
+        int newArrayIndex= 0;
38
+        //go through each element in the array
39
+        for(String nextWord : array) {
40
+            int occurance = countOccurrence(nextWord);
41
+            if(occurance < maxNumberOfDuplications) {
42
+                newArray[newArrayIndex] = nextWord;
43
+                newArrayIndex++;
44
+        }
45
+       }
46
+        //count occurrance
47
+        String[] finalArray = new String[newArrayIndex];
48
+        System.arraycopy(newArray, 0, finalArray, 0, newArrayIndex);
49
+        return finalArray;
50
+    }
5
 
51
 
6
 }
52
 }

+ 37
- 64
package.bluej Datei anzeigen

1
 #BlueJ package file
1
 #BlueJ package file
2
-dependency1.from=StringDuplicateDeleterTest
3
-dependency1.to=StringDuplicateDeleter
2
+dependency1.from=IntegerDuplicateDeleterTest
3
+dependency1.to=DuplicateDeleter
4
 dependency1.type=UsesDependency
4
 dependency1.type=UsesDependency
5
-dependency2.from=StringDuplicateDeleterTest
6
-dependency2.to=TestUtils
5
+dependency2.from=IntegerDuplicateDeleterTest
6
+dependency2.to=IntegerDuplicateDeleter
7
 dependency2.type=UsesDependency
7
 dependency2.type=UsesDependency
8
 dependency3.from=StringDuplicateDeleterTest
8
 dependency3.from=StringDuplicateDeleterTest
9
-dependency3.to=RandomNumberFactory
9
+dependency3.to=DuplicateDeleter
10
 dependency3.type=UsesDependency
10
 dependency3.type=UsesDependency
11
-dependency4.from=IntegerDuplicateDeleterTest
12
-dependency4.to=IntegerDuplicateDeleter
11
+dependency4.from=StringDuplicateDeleterTest
12
+dependency4.to=StringDuplicateDeleter
13
 dependency4.type=UsesDependency
13
 dependency4.type=UsesDependency
14
-dependency5.from=IntegerDuplicateDeleterTest
15
-dependency5.to=TestUtils
16
-dependency5.type=UsesDependency
17
-dependency6.from=IntegerDuplicateDeleterTest
18
-dependency6.to=RandomNumberFactory
19
-dependency6.type=UsesDependency
20
 editor.fx.0.height=722
14
 editor.fx.0.height=722
21
 editor.fx.0.width=988
15
 editor.fx.0.width=988
22
-editor.fx.0.x=425
23
-editor.fx.0.y=176
16
+editor.fx.0.x=250
17
+editor.fx.0.y=26
24
 objectbench.height=189
18
 objectbench.height=189
25
-objectbench.width=1211
19
+objectbench.width=722
26
 package.divider.horizontal=0.6
20
 package.divider.horizontal=0.6
27
 package.divider.vertical=0.6979969183359014
21
 package.divider.vertical=0.6979969183359014
28
 package.editor.height=446
22
 package.editor.height=446
29
 package.editor.width=1109
23
 package.editor.width=1109
30
-package.editor.x=142
31
-package.editor.y=61
24
+package.editor.x=45
25
+package.editor.y=40
32
 package.frame.height=707
26
 package.frame.height=707
33
 package.frame.width=1235
27
 package.frame.width=1235
34
-package.numDependencies=6
35
-package.numTargets=8
28
+package.numDependencies=4
29
+package.numTargets=5
36
 package.showExtends=true
30
 package.showExtends=true
37
 package.showUses=true
31
 package.showUses=true
38
 project.charset=UTF-8
32
 project.charset=UTF-8
41
 readme.width=47
35
 readme.width=47
42
 readme.x=10
36
 readme.x=10
43
 readme.y=10
37
 readme.y=10
38
+target1.association=StringDuplicateDeleterTest
44
 target1.height=50
39
 target1.height=50
45
-target1.name=TestUtils
40
+target1.name=StringDuplicateDeleter
46
 target1.showInterface=false
41
 target1.showInterface=false
47
 target1.type=ClassTarget
42
 target1.type=ClassTarget
48
-target1.width=80
49
-target1.x=750
50
-target1.y=210
51
-target2.association=StringDuplicateDeleterTest
43
+target1.width=170
44
+target1.x=90
45
+target1.y=40
46
+target2.association=IntegerDuplicateDeleterTest
52
 target2.height=50
47
 target2.height=50
53
-target2.name=StringDuplicateDeleter
48
+target2.name=IntegerDuplicateDeleter
54
 target2.showInterface=false
49
 target2.showInterface=false
55
 target2.type=ClassTarget
50
 target2.type=ClassTarget
56
 target2.width=170
51
 target2.width=170
57
-target2.x=90
58
-target2.y=40
52
+target2.x=40
53
+target2.y=220
59
 target3.height=50
54
 target3.height=50
60
-target3.name=RandomNumberFactory
55
+target3.name=IntegerDuplicateDeleterTest
61
 target3.showInterface=false
56
 target3.showInterface=false
62
-target3.type=ClassTarget
57
+target3.type=UnitTestTargetJunit4
63
 target3.width=170
58
 target3.width=170
64
-target3.x=230
65
-target3.y=130
59
+target3.x=70
60
+target3.y=190
66
 target4.height=50
61
 target4.height=50
67
-target4.name=DuplicateDeleterInterface
62
+target4.name=StringDuplicateDeleterTest
68
 target4.showInterface=false
63
 target4.showInterface=false
69
-target4.type=InterfaceTarget
70
-target4.width=210
71
-target4.x=480
72
-target4.y=30
73
-target5.association=IntegerDuplicateDeleterTest
64
+target4.type=UnitTestTargetJunit4
65
+target4.width=170
66
+target4.x=120
67
+target4.y=10
74
 target5.height=50
68
 target5.height=50
75
-target5.name=IntegerDuplicateDeleter
69
+target5.name=DuplicateDeleter
76
 target5.showInterface=false
70
 target5.showInterface=false
77
-target5.type=ClassTarget
78
-target5.width=170
79
-target5.x=40
80
-target5.y=220
81
-target6.height=50
82
-target6.name=StringDuplicateDeleterTest
83
-target6.showInterface=false
84
-target6.type=UnitTestTargetJunit4
85
-target6.width=170
86
-target6.x=120
87
-target6.y=10
88
-target7.height=50
89
-target7.name=IntegerDuplicateDeleterTest
90
-target7.showInterface=false
91
-target7.type=UnitTestTargetJunit4
92
-target7.width=170
93
-target7.x=70
94
-target7.y=190
95
-target8.height=50
96
-target8.name=DuplicateDeleter
97
-target8.showInterface=false
98
-target8.type=AbstractTarget
99
-target8.width=160
100
-target8.x=450
101
-target8.y=120
71
+target5.type=AbstractTarget
72
+target5.width=160
73
+target5.x=450
74
+target5.y=120