sorry das ich noch einen Thread aufmache aber ansonsten antwortet ja eh keiner.
Ich habe wegen dem Programm schon graue Haare bekommen
wenn ich ich immer nur ein Lied und einen Interpreten eingebe kommt fast eine richtige Ausgabe zustande. Die letze CD macht er immer richtig(also CDNamen, Liednamen und Interpretennamen) aber bei den CDs davor ist der Liedname imer "NULL" warum das denn, wenn die letzte CD doch richtig ausgegeben wird? Mein nächstes Problem ist, wenn ich mehrere Titel eingeben will kommt immer java.lang.NullPointerException und außerdem zählt der falsch. Wenn ich den Titel+Interpret von der 1. CD eingegeben habe fragt der nach dem 11. und dann nach dem 21... Liedtitel bzw Interpreten. Was ist an meiner For schleife falsch? Wie kann ich das machen, dass der User nachträglich Daten vom Interpreten und Liedtitel änder kann bzw ganze CD rauslöschen(ohne das "Lücken" in meinen Feldern entstehen). wäre euch echt sehr dankbar wenn mir jemand helfen kann
Ich habe wegen dem Programm schon graue Haare bekommen
Code:
import java.io.*;
public class CDSammlung{
public static void main(String[] args)
throws IOException
{int a=0 ,Anzahllieder=0,Anzahlinterpret=0;
String x= "";
String[] NameCD;
String[][]lied;
String[][] interpret;
interpret = new String[999][];
lied = new String[999][];
NameCD = new String[999];
BufferedReader din = new BufferedReader(new InputStreamReader(System.in));
System.out.println("*CD-Datenbank*");
System.out.println();
while(!(x.equals("nein") )) {
System.out.println("Wollen Sie eine neue CD eingeben? Ja/Nein" );
x = din.readLine();
if(x.equals("nein")) break;
if(x.equals("ja"))
System.out.print("Wie viele Lieder sind auf der "+(a+1)+ " CD? ");
Anzahllieder = Integer.parseInt(din.readLine());
lied = new String[999][Anzahllieder];
System.out.print("Wieviele Interpreten sind auf der"+(a+1)+" CD? ");
Anzahlinterpret = Integer.parseInt(din.readLine());
interpret[a] = new String[Anzahllieder];
System.out.println("Bitte geben die Namen der "+(a+1)+" CD ein ");
NameCD[a] = din.readLine();
for ( int i = 0; i < lied[a].length; i++) { //lenght
System.out.println();
System.out.print("Bitte geben Sie den Namen des "+i+1+". Liedes der "+(a+1)+" CD ein: ");
lied[a][i] = din.readLine();
System.out.println();
for ( int j = 0; j< interpret[a].length; j++){ //lenght
System.out.println();
System.out.print("Bitte geben sie den Namen des " +j+1+ " Interpreten der "+(a+1)+" CD ein: ");
interpret[a][j] = din.readLine();
System.out.println();
}
a++; }
}
System.out.println("Wollen Sie die Daten aller bis jetzt eingebenen CD's angezeigt bekommen Ja/nein ? ");
x = din.readLine();
if(x.equals("ja")){
for (int z=0; z<a; z++) {
System.out.println(" Der name der " +(z+1)+" CD ist " + NameCD[z]);
for ( int i=0; i<lied[z].length; i++)
System.out.println(" das " +(i+1)+" lied ist "+ lied[z][i]);
for (int i=0; i<interpret[z].length;i++)
System.out.println(" der " +(i+1)+ " interpret ist " + interpret[z][i]);
}
}
}
}