001    package de.hska.java.aufgaben.felder;
002    
003    /**
004     * Enthält eine Methode, um den kleinsten Abstand zwischen zwei benachbarten
005     * Zahlen eines Feldes zu berechnen und den Index der ersten Zahl zurückgibt.
006     * <p>
007     *   <a href="http://www.home.hs-karlsruhe.de/~pach0003/informatik_1/aufgaben/felder.html#abstandzweierzahlen">Zurück zum Aufgabentext</a>
008     * </p>
009     * 
010     * @author Christian Pape
011     */
012    public class KleinsterAbstand {
013    
014        /**
015         * Gibt den Index einer Zahl zurück, dessen Differenz mit der darauffolgenden Zahl
016         * betragsmässig am kleinsten zwischen allen benachbarten Zahlen im Feld ist.
017         */
018        public int getIndexMitKleinstenAbstand(int [] zahlen) {
019            int index = 0;
020            
021            for (int i = 1; i < zahlen.length - 1; i++) {
022                if ( Math.abs( zahlen[index] - zahlen[index + 1]) >
023                    Math.abs( zahlen[i] - zahlen[i + 1])) {
024                    index = i;
025                }
026            }
027            
028            return index;
029        }
030    }