Abend miteinander
,
ich hatte vor eine Datenbank zumachen,in dem Fall mit ArrayList,sodass ich Objekte sortieren/löschen/einfügen kann. Jetzt hab' ich ein Problem mit der Eingabe(Siehe grün markiert). Ich weiß, ist nicht besonders schön programmiert
. Naja was ich vor hatte war, ein Array mit zwei Einträgen(beim Mehrdimensionalem Array bin ich gescheitert), hier Filmname und Gerne, die von einander abhängen. Und mein Problem wäre jetzt: Dass wenn ich jetzt nach der Eingabe,die Nachricht mit der Überprüfung(welcher Name eingetragen wird) nicht meinen Integer wert n annimmt
.
Ich bin zwar noch grün hinter den Ohren,aber ich versuche es irgendwie noch zu lernen.
Wäre Nett wenn mir jemand helfen könnte, Danke <3
Mfg Dima
Fehlercode
ich hatte vor eine Datenbank zumachen,in dem Fall mit ArrayList,sodass ich Objekte sortieren/löschen/einfügen kann. Jetzt hab' ich ein Problem mit der Eingabe(Siehe grün markiert). Ich weiß, ist nicht besonders schön programmiert
Ich bin zwar noch grün hinter den Ohren,aber ich versuche es irgendwie noch zu lernen.
Wäre Nett wenn mir jemand helfen könnte, Danke <3
Mfg Dima
Java:
import java.util.ArrayList;
import java.util.Scanner;
public class eingabe
{
static Scanner sc = new Scanner(System.in);
public static void main(String[] args)
{
ArrayList nameFilm = new ArrayList();
nameFilm.add(0,"Herr der Ringe");
nameFilm.add(1,"Avatar");
nameFilm.add(2,"Ananas Express");
nameFilm.add(3,"The Serbian Film");
nameFilm.add(4,"Bocu no pico");
nameFilm.add(5,"K-Project");
nameFilm.add(6,"Die Bestimmung");
ArrayList gerneName = new ArrayList();
gerneName.add(0,"Fantasy");
gerneName.add(1,"Fantasy");
gerneName.add(2,"Komedy");
gerneName.add(3,"Horror");
gerneName.add(4,"Komedy");
gerneName.add(5,"Action");
gerneName.add(6,"Action");
int n=nameFilm.size()+1; // GRÜN
int m=gerneName.size()+1; // GRÜN
System.out.println("Name Gerne");
for(int i=0;i<nameFilm.size();i++){
int a = i+1;
System.out.print(a+". "+nameFilm.get(i)+"\t ");
System.out.println(gerneName.get(i));
}
System.out.println("------NEUER EINTRAG---------");
System.out.println("Tippen Sie den Namen ein: ");
String filmn = sc.nextLine();
System.out.println("Tippen Sie jetzt das Genre ein: ");
String filmg = sc.nextLine();
System.out.println("Sie haben Eingegeben:");
System.out.println("Name: "+nameFilm.get(n)+"\nGerne: "+gerneName.get(m)); // ROT
System.out.println("Sind sie mit der Eingabe zufrieden ?\n<1> - Ja\t<2> - Nein");
String zufrieden =sc.nextLine();
int zufriedenint = Integer.parseInt(zufrieden);
do
{
switch(zufriedenint)
{
case 1:
nameFilm.add(filmn);
gerneName.add(filmg);
break;
case 2:
System.out.println("------NEUER EINTRAG-------");
System.out.println("Tippen Sie erneut den Namen ein: ");
filmn = sc.nextLine();
System.out.println("Tippen Sie erneut den Genre ein: ");
filmg = sc.nextLine();
System.out.println("Sie haben Eingegeben:");
System.out.println("Name: "+nameFilm.get(n)+"\nGerne: "+gerneName.get(m));
System.out.println("Sind sie mit der Eingabe zufrieden ?\n<1> - Ja\t<2> - Nein");
zufrieden =sc.nextLine();
zufriedenint = Integer.parseInt(zufrieden);
break;
}
}while(zufriedenint==2);
}
}
Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 8, Size: 8
at java.util.ArrayList.rangeCheck(Unknown Source)
at java.util.ArrayList.get(Unknown Source)
at eingabe.main(eingabe.java:43)
Zuletzt bearbeitet von einem Moderator: