Hallo zusammen,
habe die folgendes aufgabe von Azubi Betrieb gekriegt
Es soll zu der gegebenen ISBN2.txt ein passendes Klassenmodell erstellt werden.
Gegeben ist eine Text Datei <ISBN2.txt> mit ISBN Nummern, Autor(en), Titel und Erscheinungsdatum.
Die einzelnen Einträge sind Komma separiert.
Die einzelnen Zeilen sollen ausgelesen werden und in das Klassenmodell übertragen werden.
Bsp.:
Carmen,Korn, Zeiten des Aufbruchs, 23.06.2017,9783499272141
Hendrikje, Balsmeyer,Peter, Maffay,Anouk dein nächstes Abenteuer ruft!,30.08.2022,978-3-8458-5078-8
Es gibt mindestens 5 Einträge pro Buch.
Gibt es mehr Einträge, ist davon auszugehen, dass es mehrere Autoren gibt.
Zu beachten:
· Der Pfad zu der Datei wird als Parameter über die Kommandozeile eingegeben
· Das Programm darf nicht mit einer Exception beendet werden
· Die Ausgabe ist folgendermaßen:
o Laufende Nummer
o <TAB>Nachname: <Eintrag aus der Datei>
o <TAB>Name: <Eintrag aus der Datei>
o <TAB>Titel: <Eintrag aus der Datei>
o <TAB>Datum: <Eintrag aus der Datei> im Format Bsp.: 01.01.2018 ist auszugeben als 01. Januar 2018
o <TAB>ISBN: <Eintrag aus der Datei>
· Im Fehlerfall sollten sinnige Ausgaben angezeigt werden
· Eine fehlerhafte Zeile aus der zu bearbeitenden Datei, ist nicht zu übertragen.
ich habe die folgendes Programm geschrieben aber etwas stimmt nicht und komme nicht zu weit
krieg immer einen Fehler
bitte um helfe !!
habe die folgendes aufgabe von Azubi Betrieb gekriegt
Es soll zu der gegebenen ISBN2.txt ein passendes Klassenmodell erstellt werden.
Gegeben ist eine Text Datei <ISBN2.txt> mit ISBN Nummern, Autor(en), Titel und Erscheinungsdatum.
Die einzelnen Einträge sind Komma separiert.
Die einzelnen Zeilen sollen ausgelesen werden und in das Klassenmodell übertragen werden.
Bsp.:
Carmen,Korn, Zeiten des Aufbruchs, 23.06.2017,9783499272141
Hendrikje, Balsmeyer,Peter, Maffay,Anouk dein nächstes Abenteuer ruft!,30.08.2022,978-3-8458-5078-8
Es gibt mindestens 5 Einträge pro Buch.
Gibt es mehr Einträge, ist davon auszugehen, dass es mehrere Autoren gibt.
Zu beachten:
· Der Pfad zu der Datei wird als Parameter über die Kommandozeile eingegeben
· Das Programm darf nicht mit einer Exception beendet werden
· Die Ausgabe ist folgendermaßen:
o Laufende Nummer
o <TAB>Nachname: <Eintrag aus der Datei>
o <TAB>Name: <Eintrag aus der Datei>
o <TAB>Titel: <Eintrag aus der Datei>
o <TAB>Datum: <Eintrag aus der Datei> im Format Bsp.: 01.01.2018 ist auszugeben als 01. Januar 2018
o <TAB>ISBN: <Eintrag aus der Datei>
· Im Fehlerfall sollten sinnige Ausgaben angezeigt werden
· Eine fehlerhafte Zeile aus der zu bearbeitenden Datei, ist nicht zu übertragen.
ich habe die folgendes Programm geschrieben aber etwas stimmt nicht und komme nicht zu weit
krieg immer einen Fehler
Java:
public class Author {
String name , nachname;
public Author(String name, String nachname) {
this.name = name;
this.nachname = nachname;
}
}
public class Book {
ArrayList<Author> author;
String titel, isbn;
Date date;
public String getTitel() {
return titel;
}
public void setTitel(String titel) {
// if (bookArrayList.length % 2 != 0) {
// while (file.hasNext()) {
// bookArrayList = file.nextLine().split(",");
// titel = bookArrayList[bookArrayList.length - 3];
this.titel = titel;
}
public Date getDate() {
return date;
}
public void setDate(Date date) {
this.date = date;
}
public String getIsbn() {
return isbn;
}
public void setIsbn(String isbn) {
this.isbn = isbn;
}
public Book(ArrayList<Author> author, String titel, Date date, String isbn) {
this.author = author;
this.titel = titel;
this.date = date;
this.isbn = isbn;
}
}
import java.io.File;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.Locale;
import java.util.Scanner;
public class Main {
public static Scanner scan = null;
private static String[] authorsArray;
private static String[] bookArray;
static Date date;
public static void main(String[] args) {
try{
File file = new File(args[0]);
System.out.println("is the readable file is valid ? "+file.isFile());
Scanner scan = null;
//read file and call the build-in methode
scan = new Scanner(file);
// test Authors implementation
addAuthor(scan);
// in case of any failure
}
catch (Exception e) {
System.out.println("file not valid ");
System.exit(-1);
}
}
public static void addAuthor ( Scanner file) {
authorsArray = file.nextLine().split(",");
ArrayList<Author> authorArrayList = new ArrayList<>();
int linecount = 1;
while (file.hasNextLine()) {
for (int i = 0 ; i < authorsArray.length - 3 ; i++) {
int nameindex = 0;
int nachnameindex;
nachnameindex = (nameindex) + 1;
authorArrayList.add(new Author(
authorsArray[nameindex], authorsArray[nachnameindex]
));
}
}
}
private static void showBookData(Scanner file) {
// input Date 1formater
bookArray=file.nextLine().split(",");
SimpleDateFormat formatter = new SimpleDateFormat("dd.MM.yyyy", Locale.ENGLISH);
//output formatter
SimpleDateFormat formatter2 = new SimpleDateFormat("dd.MMMMM yyyy", Locale.GERMAN);
// variable where you store the array index as String to re conver it // (( not necessary can be done directly))
String dateInString = "";
int lineCount=1;
while (file.hasNextLine()){
System.out.println(lineCount);
String[] Bookoutput = file.next().split(",");
bookArray = file.nextLine().split(",");
dateInString = bookArray[bookArray.length-2];
// prevent Parsing fails
try {
date = formatter.parse(dateInString);
} catch (ParseException e) {
}
if (bookArray != null) {
addAuthor(file);
System.out.println("\t" + " Nachname : " + authorsArray[1]);
System.out.println("\t" + " Name : " + authorsArray[0]);
System.out.println("\t" + " Titel : " + bookArray[bookArray.length-3]);
System.out.println("\t" + " Datum : " + (formatter2.format(date)));
System.out.println("\t" + " ISBN : " + bookArray[bookArray.length-1]);
}
++lineCount;
}
}
}
bitte um helfe !!