Advertisement
flomath

palindrom_MusterLoesung

Mar 19th, 2015
209
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.81 KB | None | 0 0
  1.  
  2. public class Palindrom {
  3.  
  4.    
  5.     public static void main(String[] args) {
  6.         // TODO Auto-generated method stub
  7.        
  8.        
  9.         // TESTCODE ####ANFANG####
  10.         int[] palindromAusgangsArray ={1,2,3,4,5,6,7};
  11.        
  12.         for( int i=0; i<palindromAusgangsArray.length; i++){
  13.             System.out.print(palindromAusgangsArray[i]);
  14.         }
  15.         int[] palindromErgebnisArray = palindrom(palindromAusgangsArray);
  16.         System.out.println();
  17.         for( int i=0; i<palindromErgebnisArray.length; i++){
  18.             System.out.print(palindromErgebnisArray[i]);
  19.         }
  20.         // TESTCODE ####ENDE####
  21.  
  22.  
  23.     }
  24.    
  25.     public static int[] palindrom(int[] array) { // Rückgabewert ist ein Array vom Typ Integer, als Übergabewert wird der Methode ein Array vom Typ Integer übergeben
  26.          int[] palindrom = new int[array.length]; // ein neues Array vom Typ Integer mit derselben Länge wie vom übergebenen Integer Array wird erstellt
  27.          for (int i = 0; i < array.length; i++) {
  28.              /*
  29.               * for-Loop: Aufgabe - das neue Array muss gefüllt werden -
  30.               * deshalb beginnen wir bei i=0 bis zur Länge des Arrays - 1.
  31.               *  -> Die Positionen in einem Array fangen ja mit dem Index 0 an.
  32.               *   Sprich der erste Eintrag befindet sich im Array an der Stelle, wo der Indix = 0 ist.
  33.               *   veranschaulichung: " [0,1,2,3,4]" ( 0 ist die erste Position, 1 ist die zweite Positon etcetera.
  34.               *
  35.               */
  36.              
  37.         /*
  38.          *
  39.          *  Das Array wird nun von hinten gefüllt. Was ist die letzte Position von unserem neuen Array?
  40.          *  Stimmt, sie ist die Länge-1. Warum? Weil Die Länge von einem Array als Beispiel 3 ist, die
  41.          *  letzte Position aber den Index 2 hat, da wir bei 0 beginnen, wie bereits oben erklärt.
  42.          *  
  43.          *  Die letzte Stelle ist also die Länge -1 , woher kommt aber das -i noch?
  44.          *  Naja, wir wollen ja das Array von hinten nach vorne füllen, also muss sich diese Position
  45.          *  auch ändern, sprich es muss dynamisch gehalten werden. Dementsprechend ziehen wir i ab, und füllen
  46.          *  das neue Array von der letzten Stelle, bis zur ersten Stelle auf.
  47.          *  
  48.          *  Veranschaulichung:
  49.          *  Wir nehmen das Array wie oben deklariert und initialisiert.
  50.          *  also:       int[] palindromAusgangsArray ={1,2,3,4,5,6,7};
  51.          *  Beim ersten Durchgang unserer Schleife ist i=0, also wird unser neues Array
  52.          *  an der letzten Stelle, sprich an Index 6 mit dem ersten Wert vom alten Array gefüllt.
  53.          *  palindrom.length -1 -i ( i=0 beim ersten Durchgang ) = 6 , und exakt dieser Index vom Array
  54.          *  wird mit dem Wert vom alten Array an der ersten Position gefüllt.
  55.          *  Beim zweiten Durchgang ist nun i=1, also wird unser neues Array an der Stelle 5 mmit dem zweiten
  56.          *  Wert des alten Arrays gefüllt. -> Das i dekrementiert also nach jedem Schleifendurchgang
  57.          *  die Indexposition.
  58.          */
  59.          palindrom[palindrom.length - 1 - i] = array[i];
  60.          }
  61.          return palindrom;
  62.          }
  63.  
  64. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement