# doppelte Werte im Array ausgeben.



## Plisso (4. Jul 2009)

Hallo zusammen,

ich als dummer Anänger habe ein Problem. 
Ich habe ein Array mit einer Sequenz von gleichen Werten.
int a[]={2,3,4,6,6,6,8};
Ich würde gerne den Wert der Sequenz ausgeben (hier 6) und die Länge (hier 3).

Leider komme ich über einen schlechten Ansatz nicht hinaus.
Dies ist auch keine Hausaufgabe. Habe verschieden Aufgaben zum Thema Array behandelt, aber keine die auf diese Frage eingeht.

hier mein dürftiger Ansatz

```
public static void doppel(int a[]){
		
		for (int i = 0; i < a.length-1; i++) { 
        		int doppel=a[i];
			if(doppel==a[i+1]){
				System.out.println(doppel);
			}
		}	
	}
```


----------



## java66 (4. Jul 2009)

```
public static void doppel(int a[]){
		int anz=1;
		int zahl=0;
		for (int i = 0; i < a.length -1; i++) { 
        	if(a[i]==a[i+1]){
        	   zahl=a[i];	
        		anz++;
        	}
        	
		}
		System.out.println("Die zahl "+zahl+"  menge "+anz);
		
		}
```


----------



## Plisso (4. Jul 2009)

Danke Dir!!!


----------



## java66 (4. Jul 2009)

musst du ein bischen basteln denn dies ist nur für eine doppel folge.
nicht zu gebrauchen für bsp. 1,2,3,3,3,4,4,4,5,6,6,6

Viel spass


----------



## Localtime (5. Jul 2009)

Hi,

ich habe mir mal erlaubt den Code so zu erweitern, dass auch mehrere Doppel-Folgen erkannt werden.


```
int a[]={2,3,3,4,4,4,6,6,6,6,8,8};
		
Map<Integer, Integer> map = new HashMap<Integer, Integer>();
		
for (int i = 0; i < a.length; i++)
{
    if(map.containsKey(a[i]))
    {
        map.put(a[i], map.get(a[i]) + 1);
    }
    else
    {
        map.put(a[i], 1);
    }
}
	
System.out.println(map);
```


----------

