# Array multiplizieren und ausgeben



## loeffel (17. Nov 2012)

Guten Abend,

ich möchte ein Array namens vector erstellen, jedes Element davon mit einem festgelegten Multiplikator multiplizieren und dann auf der Konsole ausgeben. Habe also folgende Klassen geschrieben:


```
public class Aufgabe {

	int[] multiply(int[] vector, int multiplier){
		
		int i;
		for (i = 0; i < vector.length-1; i ++){
			int neuerWert = vector[i] * multiplier;
			vector[i] = neuerWert;
		}
		return vector;
	
	}
	
}
```

und:


```
public class Application {

	public static void main(String[] args) {

		Aufgabe arrayAufgabe = new Aufgabe();
		int[]vector = {2,4,3,6};
		int multiplier = 2;
		arrayAufgabe.multiply(vector, multiplier);
		
		System.out.print(vector);
	}		
}
```


Die Ausgabe ist mal wieder nur Mist. Liegt das an der Schleife? Habe irgendwie den Verdacht, dass die eh nur einmal durchlaufen wird, begreife aber auch nciht, wie ich das anders machen könnte...

Danke!


----------



## Volvagia (17. Nov 2012)

Stimmt, in der Schleife ist tatsächlich ein Fehler, das vector.length-1 ist falsch.
Aber print(Object) ruft Object#toString auf, dass in der Standartimplementation Klassennamen + Hashcode ausgibt.
Entweder gibst du jedes Element einzeln aus oder du konvertierst es zu einer Liste, die haben i. d. R. schöne toString-Methoden. Allerdings bin ich mir nicht sicher, ob folgende Methode mit primitiven Typen geht.


```
System.out.println(Arrays.asList(vector));
```


----------



## Marco13 (17. Nov 2012)

System.out.println(Arrays.toString(vector));


----------



## hüteüberhüte (17. Nov 2012)

```
int[] multiply(int[] vector, int multiplier){
        for (int i = 0; i < vector.length; i++){
            vector[i] *= multiplier;
        }
        return vector;
    }
```

entweder oder


```
int[] multiply(int[] vector, int multiplier){
        for (int i = 0; i <= vector.length - 1; i++){
            vector[i] *= multiplier;
        }
        return vector;
    }
```

Du musst übrigens ein verändertes Array nicht unbedingt zurückgeben.


----------

