# array index out of bounds exception



## intel.amd (10. Jan 2013)

Guten Tag alle miteinander,
kann jemand mir helfen und mir mein Fehler zeigen.
Vielen dank im voraus.


```
import	java.util.ArrayList;

public	class	person	{
private	String	name;
private	String	Vorname;
public person (String name,	String	vorname)	{
this.name	=	name;
this.Vorname	=	vorname;
}

public	String	TOString()	{
return	"name:	"	+	this.name	+	"	Vorname:	"	+	this.Vorname;
}
public	static	void	main(String[]	args)	{
ArrayList<Object> PERSONEN	=	new	ArrayList<Object>();
person	p1	=	new person("Lehmann",	"Peter");
person	p2	=	new	person("Mustermann", "Max");
String	vorname	=	"Schmidt";
PERSONEN.add(p1);
PERSONEN.add(p2);
PERSONEN.add(vorname);
System.out.println(PERSONEN.get(-1));
System.out.println(PERSONEN.get(0));
System.out.println(PERSONEN.get(1));
System.out.println(PERSONEN.get(2));
System.out.println(PERSONEN.get(3));
}
}
```


----------



## nillehammer (10. Jan 2013)

Schau Dir mal die Fehlermeldung der ArrayIndexOutOfBoundsException an. Dann siehst Du, in welcher Zeile Deines Codes der Fehler steckt. Wenn du Dir DANN noch die API-Doku zu dieser Exception anschaust (hier: ArrayIndexOutOfBoundsException (Java Platform SE 7 )) findest Du ganz schnell heraus, warum sie dort fliegt.

P.S. Wenn Du den Fehler beseitigt hast, wird ein paar Zeilen später wieder eine Fliegen, aber jetzt weißt Du ja, wieso.


----------



## Firephoenix (10. Jan 2013)

Formatiert und kommentiert:

```
import java.util.ArrayList;

//Klassennamen UpperCamelCase
public class person {
    private String name;
    // Variablennamen lowerCamelCase
    private String Vorname;

    public person(String name, String vorname) {
	this.name = name;
	this.Vorname = vorname;
    }

    // diese Methode ist nicht die toString()-Methode (case-sensitive Methodennamen in Java)!
    //@Override benutzen wenn man Methoden überschreibt, dann meckert der compiler
    public String TOString() {
	return "name:  " + this.name + "   Vorname:    " + this.Vorname;
    }

    public static void main(String[] args) {
	//Variablennamen, siehe oben
	ArrayList<Object> PERSONEN = new ArrayList<Object>();
	person p1 = new person("Lehmann", "Peter");
	person p2 = new person("Mustermann", "Max");
	String vorname = "Schmidt";
	PERSONEN.add(p1);
	PERSONEN.add(p2);
	PERSONEN.add(vorname);
	//Informatiker zählen in der Regel ab der 0, nicht ab -1.
	//Außerdem: Wie sollen denn 5 Objekte in der Liste sein,
	//wenn du nur 3 Stück einfügst?
	System.out.println(PERSONEN.get(-1));
	System.out.println(PERSONEN.get(0));
	System.out.println(PERSONEN.get(1));
	System.out.println(PERSONEN.get(2));
	System.out.println(PERSONEN.get(3));
    }
}
```

Gruß


----------

