Suggest a feature
×

Welcome to TagMyCode

Please login or create account to add a snippet.
0
0
 
0
Added: Dec 11, 2020 3:30 PM
Modified: Dec 11, 2020 6:44 PM
Views: 2
Tags: array
  1.  
  2.  
  3.  
  4. public class Main {
  5.     //Testen Sie, ob data (bzw. ganz allgemein ein int-Array) einen Doppelgänger enthält.
  6. //Verpacken Sie Ihren Code in eine Methode!
  7.     public static void main(String[] args) {
  8.         int[] data = {17, 22, 18, 23, 10, 19, 23, 24};
  9.         int[][] dbtest = {{1, 2, 3},
  10.                 {4, 5, 6},
  11.                 {7, 4, 2}};
  12.         System.out.println("Der test hat ergeben: " + doppelGaengerTest(data));
  13.         System.out.println("Der Test für das 2 Dim Array hat ergeben: " + doppelGaengerTest2DIM(dbtest));
  14.     }
  15.  
  16.     public static boolean doppelGaengerTest(int[] data) {
  17.  
  18.         for (int i = 0; i < data.length; i++) {
  19.             for (int j = i + 1; j < data.length; j++) {
  20.                 if (data[i] == data[j]) {
  21.                     return true;
  22.                 }
  23.             }
  24.         }
  25.         return false;
  26.     }
  27.     //Für 2 Dim Arrays:
  28.  
  29.     //THIS IS WRONG! It compares whether or not 2 ARRAYS ARE THE SAME!
  30.     // Use Arrays.equals(data
  31.     // TODO: Compare value at (i,j) to every other point by nesting
  32.     // two more for loops with new iterators (called, e.g., m and n)
  33.     // TODO: If a duplicate is found, either stop searching, or at
  34.     // least mark that a duplicate has been found somehow.
  35.  
  36.     public static boolean doppelGaengerTest2DIM(int[][] data) {
  37.         int cant = 0;
  38.  
  39.         boolean b = false;
  40.         // Man braucht 4 for schleifen, diese vergleicht man dann und
  41.         // cant ist ein duplicate counter
  42.         // if cant > 1 ist in der letzten schleife!
  43.         for (int i = 0; i < data.length; i++) {
  44.             for (int j = 0; j < data[0].length; j++) {
  45.                 for (int k = 0; k < data.length; k++) {
  46.                     for (int l = 0; l < data[0].length; l++) {
  47.                         if(data[i][j] == data[k][l]){
  48.                             cant++;
  49.                         }
  50.                     }
  51.                 }
  52.                 if(cant > 1){
  53.                     b = true;
  54.                 }
  55.                 cant=0;
  56.             }
  57.         }
  58.         return b;
  59.     }
  60.  
  61.  
  62. }
  63.