|
1 | 1 |
|
2 | 2 | public class Blatt06_4 {
|
3 |
| - public static void main(String[]args) { |
4 |
| - //Array zum Testen der Methode |
5 |
| - int[] test = new int[] {1,1,3,3,5,5,2,2,2,4,4,4,6,8,8,0,0,100,100}; |
6 |
| - //Ausgabe des zurückgegebenen Arrays |
7 |
| - for(int i=0;i<findDuplicates(test).length;i++) { |
8 |
| - System.out.println(findDuplicates(test)[i]); |
9 |
| - } |
10 |
| - } |
11 |
| - |
12 |
| - |
13 |
| - /** |
14 |
| - * Sucht aus Eingabe-Array die doppelt vorhandenen Zahlen heraus und gibt diese in einem Array zurück |
15 |
| - * |
16 |
| - * |
17 |
| - * @param arg Integer Array mit den Zahlenwerten zwischen 0-100 |
18 |
| - * @return Array mit allen doppelt vorhandenen Zahlen |
19 |
| - */ |
20 |
| - public static int[] findDuplicates(int[]arg) { |
21 |
| - //Array in dem die Häufigkeit einer Zahl gespeichert wird |
22 |
| - int[]count = new int[101]; |
23 |
| - int len = 0; |
24 |
| - //Interiert über Input-Array und erhöht jeweilige Zahl im count-Array |
25 |
| - for(int i=0;i<arg.length;i++) { |
26 |
| - count[arg[i]]++; |
27 |
| - } |
28 |
| - //Prüft wie viele doppelte Zahlen vorhanden sind, damit Array korrekte Länge hat |
29 |
| - for(int z=0;z<count.length;z++) { |
30 |
| - if(count[z]==2) |
31 |
| - len++; |
32 |
| - } |
33 |
| - //erstellt Array das zurückgegeben wird |
34 |
| - int[]duplicates = new int[len]; |
35 |
| - byte j=0; |
36 |
| - //Schreibt alle Doppelt vorkommenden Zahlen ins neue Array |
37 |
| - for(byte i=0;i<count.length;i++) { |
38 |
| - if(count[i]==2) { |
39 |
| - duplicates[j]=i; |
40 |
| - j++; |
41 |
| - } |
42 |
| - else {continue; |
43 |
| - } |
44 |
| - } |
45 |
| - //Rückgabe des Arrays mit den Duplikaten |
46 |
| - return duplicates; |
47 |
| - } |
| 3 | + public static void main(String[] args) { |
| 4 | + //Array zum Testen der Methode |
| 5 | + int[] test = new int[]{1, 1, 3, 3, 5, 5, 2, 2, 2, 4, 4, 4, 6, 8, 8, 0, 0, 100, 100}; |
48 | 6 |
|
| 7 | + int[] duplicates = findDuplicates(test); |
| 8 | + |
| 9 | + //Ausgabe des zurückgegebenen Arrays |
| 10 | + for (int i = 0; i < duplicates.length; i++) { |
| 11 | + System.out.println(duplicates[i]); |
| 12 | + } |
| 13 | + } |
| 14 | + |
| 15 | + /** |
| 16 | + * Sucht aus Eingabe-Array die doppelt vorhandenen Zahlen heraus und gibt diese in einem Array zurück |
| 17 | + * |
| 18 | + * @param arg Integer Array mit den Zahlenwerten zwischen 0-100 |
| 19 | + * @return Array mit allen doppelt vorhandenen Zahlen |
| 20 | + */ |
| 21 | + public static int[] findDuplicates(int[] arg) { |
| 22 | + //Array in dem die Häufigkeit einer Zahl gespeichert wird |
| 23 | + int[] count = new int[101]; |
| 24 | + |
| 25 | + //Interiert über Input-Array und erhöht jeweilige Zahl im count-Array |
| 26 | + for (int i = 0; i < arg.length; i++) { |
| 27 | + count[arg[i]]++; |
| 28 | + } |
| 29 | + |
| 30 | + //Prüft wie viele doppelte Zahlen vorhanden sind, damit Array korrekte Länge hat |
| 31 | + int len = 0; |
| 32 | + for (int z = 0; z < count.length; z++) { |
| 33 | + if (count[z] == 2) |
| 34 | + len++; |
| 35 | + } |
| 36 | + |
| 37 | + //Erstellt Array das zurückgegeben wird |
| 38 | + int[] duplicates = new int[len]; |
| 39 | + |
| 40 | + //Schreibt alle Doppelt vorkommenden Zahlen ins neue Array |
| 41 | + byte j = 0; |
| 42 | + for (byte i = 0; i < count.length; i++) { |
| 43 | + if (count[i] == 2) { |
| 44 | + duplicates[j] = i; |
| 45 | + j++; |
| 46 | + } |
| 47 | + } |
| 48 | + |
| 49 | + //Rückgabe des Arrays mit den Duplikaten |
| 50 | + return duplicates; |
| 51 | + } |
49 | 52 | }
|
0 commit comments