NullPointerException

Status
Nicht offen für weitere Antworten.

Baa

Mitglied
Hi

ich habe zwei Fragen :


ISBN-Prüfung

Eine International Standard Book Number (ISBN) dient der eindeutigen Identifizierung von Büchern. Mittlerweile sind die ISBN-13 Standard; Beispiele hierfür sind:

* ISBN 978-0-19-861425-8
* ISBN 978-3-8297-1551-5

Eine detaillierte Erklärung des ISBN-Begriffes findet sich unter anderem unter ISBN 13 - Handbuch.
Streicht man aus einer ISBN-Angabe das am Anfang stehende "ISBN" und die zur Blockbildung verwendeten Minus- oder Leerzeichen, so bleiben 13 Zeichen erhalten. Jedes dieser 13 Zeichen kann eine Ziffer von 0 bis 9 sein. Dabei ist die letzte Ziffer, also die 13. Stelle, die sogenannte Prüfziffer.
Die Prüfziffer berechnet sich aus den ersten 12 Stellen, wie folgt: alle 12 Ziffern werden zu einem Zwischenergebnis (ZwErg1) addiert, wobei jede zweite Ziffer (also die Ziffern an 2., 4., 6., usw. Stelle) zunächst mit 3 multipliziert wird. Anschließend wird die letzte Ziffer von ZwErg1 von 10 abgezogen und % 10 (Modulo 10) gerechnet und ergibt die Prüfziffer, also die 13. Stelle der ISBN.

Umgekehrt ergibt sich für die Gültigkeitsprüfung einer vorgegebenen ISBN folgendes: seien nun z1, z2...z13 die 1., 2...13. Ziffer der ISBN. Falls die Berechnung:
(z1 + z3 + z5 + z7 + z9 + z11 + z13 + 3*(z2 + z4 + z6 + z8 + z10 + z12)) % 10

0 ergibt, handelt es sich um eine gütige ISBN-13 Nummer.
ReturnCode.java

Implementieren Sie die öffentliche Enum ReturnCode im Paket jpp.isbn mit folgenden Werten:

*
VALID
*
INVALID_LENGTH
*
INVALID_PREFIX
*
INVALID_DELIMITER
*
INVALID_CHARACTER
*
INVALID_CHECKSUM

ISBNInvestigator.java

Implementieren Sie die öffentliche Klasse ISBNInvestigator im Paket jpp.isbn. Diese Klasse soll eine gegebene ISBN-13 Nummer auf ihre Richtigkeit und Gültigkeit überprüfen. Folgende Schnittstelle soll mindestens bereitgestellt werden:

*
public static ReturnCode checkISBN(String isbn) throws NullPointerException
Diese Funktion überprüft, ob es sich bei dem übergebenen String isbn um eine gültige ISBN-13 Nummer handelt. Wurde ein gültig formatierter ISBN-Eingabestring übergeben, so soll die Methode den Enum-Wert VALID zurückliefern, andernfalls sind folgenden Werte in der angegebenen Priorität zurück liefern:
o
INVALID_LENGTH
Die Länge des Strings entspricht keiner gültigen ISBN-13 Nummer
o
INVALID_PREFIX
Eine gültige ISBN kann mit dem Präfix ISBN gefolgt von einem Leerzeichen beginnen, muss es aber nicht. Falls das Präfix fehlt, beginnt eine gültige Eingabe direkt mit der 1. Ziffer der ISBN, also ohne vorangehende Leerzeichen. Wurde ein Präfix angegeben und dieser entspricht nicht "ISBN " so wird INVALID_PREFIX zurückgeliefert.
o
INVALID_DELIMITER
ISBN Nummern können Blocktrennzeichen besitzen. Gültige Blocktrennzeichen sind das Minus- oder das Leerzeichen. Gültige ISBN Nummern besitzen 4 Blocktrennzeichen und müssen einheitlich sein, d.h. entweder nur Minus- oder nur Leerzeichen. Das Leerzeichen zwischen ISBN-Präfix (falls vorhanden) und der Ziffernfolge gilt dabei NICHT als Blocktrennzeichen. Wird eine ISBN mit Blocktrennzeichen formatiert, so ist der erste Zahlenblock auf die Länge 3 sowie der letzte Zahlenblock auf die Länge 1 festgelegt. Die anderen Blöcke müssen jeweils mindestens ein Zeichen enthalten. Allerdings kann eine ISBN auch einfach nur als Folge ihrer 13 Ziffern ohne Blocktrennzeichen angegeben werden. Entspricht die Anzahl der Blocktrennzeichen nicht der geforderten Anzahl oder ist die Länge eines Blockes falsch, so wird INVALID_DELIMITER zurückgeliefert.
o
INVALID_CHARACTER
Der String enthält ungültige Zeichen.
o
INVALID_CHECKSUM
Der String enthält eine ungültige Prüfsumme.

Ist der übergebene String jedoch null so wird eine NullPointerException geworfen.
*
public static void main(String[] args)
Nach der Aufforderung "Please insert ISBN:" zur Eingabe einer ISBN Nummer wird ein String über die Kommandozeile eingelesen. Kommandozeile bedeutet hierbei einlesen mittels Scanner von System.in. Auf das gelesene Argument wird dann die Methode checkISBN angewandt. Das Ergebnis der Überprüfung soll entsprechend dem Rückgabewert der Methode checkISBN wie folgt über die Kommandozeile ausgegeben werden:
o VALID: "valid"
o INVALID_LENGTH: "invalid length"
o INVALID_PREFIX: "invalid prefix"
o INVALID_DELIMITER: "invalid delimiter"
o INVALID_CHARACTER: "invalid character"
o INVALID_CHECKSUM: "invalid checksum"
Eingabeaufforderung und ISBN Prüfung laufen solange, bis das Programm durch Eingabe von "exit" beendet wird. Beachten Sie bei ihrer Ausgabe, dass Sie jeweils nur die oben angegebenen Meldungen ohne führende oder abschließende Leerzeichen gefolgt von einem Zeilenumbruch auf der Konsole ausgeben.

Sie können die Funktionalität Ihres Programms mit folgenden ISBN Nummern überprüfen:
Beispiele für gültige ISBN-Nummern:

* ISBN 978 0 321 52565 9
* 978-3-89721-477-4
* ISBN 9783897214774
* 9783897214774

Beispiele für ungültige ISBN-Nummern:

* ISBN 979-3-89721-497-4
* ISBN 111 1 11211 111 4

Verläuft die Prüfung dieser Nummern korrekt ist dies ein guter Hinweis auf die korrekte Funktionalität Ihres Programms. Überlegen Sie sich weitere Test-Fälle von gültigen und ungültigen ISBN-Nummern um Ihr Programm zu testen.

mien Code lautet






public static ReturnCode checkISBN(String isbn) throws NullPointerException{


String baa00 = isbn.trim();
String baa01 = baa00.replace(" ", "");
String baa02 = baa01.replace("-", "");
String baa03 = baa02.replace("ISBN", "");


if (baa03.length() !=13 ){
return ReturnCode.INVALID_LENGTH;
}
if (!((baa02.charAt(0) == 'I' && baa02.charAt(1) == 'S' &&
baa02.charAt(2) == 'B' && baa02.charAt(3) == 'N' )||
baa02.charAt(0)== '0' || baa02.charAt(0)== '1' ||
baa02.charAt(0)== '2' || baa02.charAt(0)== '3' ||
baa02.charAt(0)== '4' || baa02.charAt(0)== '5' ||
baa02.charAt(0)== '6' || baa02.charAt(0)== '7' ||
baa02.charAt(0)== '8' || baa02.charAt(0)== '9' )){

return ReturnCode.INVALID_PREFIX;
}
if (! isbn.matches("(ISBN)? ?[a-zA-Z0-9]{3}(-)[a-zA-Z0-9]{1,7}(-)[a-zA-Z0-9]{1,7}(-)[a-zA-Z0-9]{1,7}(-)[a-zA-Z0-9]{1}") &&
! isbn.matches("(ISBN)? ?[a-zA-Z0-9]{3} [a-zA-Z0-9]{1,7} [a-zA-Z0-9]{1,7} [a-zA-Z0-9]{1,7} [a-zA-Z0-9]{1}")&&
! isbn.matches("(ISBN)? ?[a-zA-Z0-9]{3}[a-zA-Z0-9]{1,7}[a-zA-Z0-9]{1,7}[a-zA-Z0-9]{1,7}[a-zA-Z0-9]{1}")){
return ReturnCode.INVALID_DELIMITER;
}

if ( !isbn.matches("(ISBN)? [0-9]{3}(-)[0-9]{1,7}(-)[0-9]{1,7}(-)[0-9]{1,7}(-)[0-9]{1}"))
return ReturnCode.INVALID_CHARACTER;


String a = baa03.substring(0, 1);
String b = baa03.substring(1, 2);
String c = baa03.substring(2, 3);
String d = baa03.substring(3, 4);
String e = baa03.substring(4, 5);
String f = baa03.substring(5, 6);
String g = baa03.substring(6, 7);
String h = baa03.substring(7, 8);
String i = baa03.substring(8, 9);
String j = baa03.substring(9, 10);
String k = baa03.substring(10, 11);
String l = baa03.substring(11, 12);
String m = baa03.substring(12, 13);

int zahl01 = Integer.valueOf(a).intValue();
int zahl02 = Integer.valueOf(b).intValue();
int zahl03 = Integer.valueOf(c).intValue();
int zahl04 = Integer.valueOf(d).intValue();
int zahl05 = Integer.valueOf(e).intValue();
int zahl06 = Integer.valueOf(f).intValue();
int zahl07 = Integer.valueOf(g).intValue();
int zahl08 = Integer.valueOf(h).intValue();
int zahl09 = Integer.valueOf(i).intValue();
int zahl10 = Integer.valueOf(j).intValue();
int zahl11 = Integer.valueOf(k).intValue();
int zahl12 = Integer.valueOf(l).intValue();
int zahl13 = Integer.valueOf(m).intValue();

int z = zahl01+3*zahl02+zahl03+3*zahl04+zahl05+3*zahl06+zahl07+3*zahl08+zahl09+3*zahl10+zahl11+3*zahl12;

if ( !(10 - 10% (z) == zahl13))
return ReturnCode.INVALID_CHECKSUM;
return ReturnCode.VALID;


}




Die Fragen :
1. was bedeutet :NullPointerException??
wozu brauche ich das und wie soll ich das benutzen

2. ich habe INVALID nicht benutzt und ich weiß eigenlich nicht wo ich das benutzen soll
ist nicht in der Aufgabe zu sehen ??

Vielen Dank
 
B

bygones

Gast
Die Fragen :
1. was bedeutet :NullPointerException??
wozu brauche ich das und wie soll ich das benutzen

2. ich habe INVALID nicht benutzt und ich weiß eigenlich nicht wo ich das benutzen soll
ist nicht in der Aufgabe zu sehen ??

Vielen Dank
1. trifft auf wenn du etwas auf einem ungueltigen Objekt (also null) aufrufst... ist ein Runtimefehler... den brauchst du nicht werfen
2. passe - habe text nicht gelesen
 

tfa

Top Contributor
2. In der Aufgabe steht nichts von INVALID. Nur
INVALID_LENGTH
*
INVALID_PREFIX
*
INVALID_DELIMITER
*
INVALID_CHARACTER
*
INVALID_CHECKSUM
Und die verwendest du.

Du solltest übrigens code-Tags benutzen.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M NullPointerException: Cannot read the array length because "this.Kinder" is null Java Basics - Anfänger-Themen 1
H Liste Knoten NullPointerException Java Basics - Anfänger-Themen 7
C Compiler-Fehler NullPointerException Java Basics - Anfänger-Themen 10
LePetitChat1 Arrays - NullPointerException? Java Basics - Anfänger-Themen 14
berserkerdq2 Nullpointerexception, obwohl ich Array initialisiere? Java Basics - Anfänger-Themen 1
U Warum gibt das eine Nullpointerexception? (Switch) Java Basics - Anfänger-Themen 6
missy72 Klassen Objekt Array NullPointerException Java Basics - Anfänger-Themen 3
Jose05 Nullpointerexception Java Basics - Anfänger-Themen 7
emx-zee Erste Schritte NullPointerException, Array mit zufälligen Zahlen füllen Java Basics - Anfänger-Themen 2
Jose05 Nullpointerexception bei Umwandlung von String zu int Java Basics - Anfänger-Themen 2
H Java NullPointerException Java Basics - Anfänger-Themen 4
YaU Vererbung erstellt NullPointerException? Java Basics - Anfänger-Themen 4
D Hilfe beim Erzeugen eines Arrays NullPointerException wird ausgelöst Java Basics - Anfänger-Themen 11
L Threads Komischer NullPointerException Java Basics - Anfänger-Themen 2
H Fehler: NullPointerException und ich weiß net warum Java Basics - Anfänger-Themen 4
F Fehlermeldung java.lang.NullPointerException Java Basics - Anfänger-Themen 4
Avalon NullPointerException beim Mocken Java Basics - Anfänger-Themen 6
D NullPointerException in foreach loop Java Basics - Anfänger-Themen 1
D java.lang.NullPointerException Java Basics - Anfänger-Themen 19
T Bufferedwriter code Nullpointerexception Java Basics - Anfänger-Themen 4
D NullPointerException im Array Java Basics - Anfänger-Themen 4
X java.lang.NullPointerException fehler ? Java Basics - Anfänger-Themen 1
B java.lang.NullPointerException bei javafx Java Basics - Anfänger-Themen 10
J NullPointerException beim Klonnen eines Arayys und beim aufrufen einer Methode Java Basics - Anfänger-Themen 2
V NullPointerException Java Basics - Anfänger-Themen 2
S NullPointerException während ResultSet Java Basics - Anfänger-Themen 7
V NullPointerException, wenn Key und Value null sind Java Basics - Anfänger-Themen 2
scratchy1 NullPointerException Java Basics - Anfänger-Themen 19
U Was löst meine NullPointerException aus? (Vererbung) Java Basics - Anfänger-Themen 12
F Wie kann ich diese NullPointerException umgehen?! Java Basics - Anfänger-Themen 41
dapzoo Compiler-Fehler Beim Werte verteilen in Objektarray NullPointerException Java Basics - Anfänger-Themen 4
W Optional<T> - NullPointerException Java Basics - Anfänger-Themen 37
Jascha NullPointerException vs NumberFormatException Java Basics - Anfänger-Themen 5
L Variablen NullPointerException bei Dateigröße (Nr.1) Java Basics - Anfänger-Themen 4
M Compiler-Fehler NullPointerException Java Basics - Anfänger-Themen 13
D NullPointerException umgehen Java Basics - Anfänger-Themen 17
Z Objekt Array führt zum NullPointerException Java Basics - Anfänger-Themen 2
W NullPointerException obwohl nicht null? Java Basics - Anfänger-Themen 3
W ArrayList NullPointerException Java Basics - Anfänger-Themen 4
A NullPointerException Java Basics - Anfänger-Themen 6
S NullPointerException Java Basics - Anfänger-Themen 4
T OOP Wörterbuch NullPointerException Java Basics - Anfänger-Themen 4
R Exception in thread "main" java.lang.NullPointerException Java Basics - Anfänger-Themen 10
O NullPointerException Java Basics - Anfänger-Themen 2
M Interpreter-Fehler Feld NullPointerException Java Basics - Anfänger-Themen 4
L Variablen Unerklärliche NullPointerException Java Basics - Anfänger-Themen 2
E Compiler-Fehler nullPointerException in verschachteltem Modell Java Basics - Anfänger-Themen 6
DaCrazyJavaExpert Threads NullPointerException Java Basics - Anfänger-Themen 8
DaCrazyJavaExpert Compiler-Fehler Variable nicht mit null initialisiert, trotzdem: NullPointerException Java Basics - Anfänger-Themen 28
kodela NullPointerException Java Basics - Anfänger-Themen 12
R Taschenrechner NullPointerException Java Basics - Anfänger-Themen 1
H java.lang.NullPointerException Java Basics - Anfänger-Themen 4
H NullPointerException obwohl Objekt angelegt wurde Java Basics - Anfänger-Themen 1
A Threads Reentrantlock | NullpointerException möglicher Deadlock? Java Basics - Anfänger-Themen 0
K Compiler-Fehler NullPointerException lösen Java Basics - Anfänger-Themen 16
G java.lang.NullPointerException Java Basics - Anfänger-Themen 3
P Compiler-Fehler NullPointerException Java Basics - Anfänger-Themen 1
E Compiler-Fehler java.lang.NullPointerException Java Basics - Anfänger-Themen 2
S Methoden Methode funktioniert nicht | NullPointerException Java Basics - Anfänger-Themen 6
F NullpointerException bei zweidimensionalem Array Java Basics - Anfänger-Themen 2
Z OOP - Array ständig NullPointerException Java Basics - Anfänger-Themen 4
J Verstehe die NullPointerException nicht Java Basics - Anfänger-Themen 1
T Nullpointerexception und es wird nichts angezeigt Java Basics - Anfänger-Themen 15
H NullPointerException, aber wieso? Java Basics - Anfänger-Themen 5
B ProcessMessage NullPointerException Java Basics - Anfänger-Themen 11
shiroX Compiler-Fehler NullPointerException Java Basics - Anfänger-Themen 9
MrSnake ItemListener mit NullPointerException Java Basics - Anfänger-Themen 3
J java.lang.NullPointerException in meiner JavaFXControllerKlasse Java Basics - Anfänger-Themen 26
M NullPointerException Java Basics - Anfänger-Themen 8
B Vererbung NullPointerException Java Basics - Anfänger-Themen 38
D Communications link failure | java.lang.NullPointerException Java Basics - Anfänger-Themen 3
G NullPointerException Java Basics - Anfänger-Themen 1
J NullpointerException Java Basics - Anfänger-Themen 1
M Interpreter-Fehler Nullpointerexception trotz Ordentlicher Initialisierung Java Basics - Anfänger-Themen 4
F java.lang.NullPointerException, kann aber nicht sein! Java Basics - Anfänger-Themen 4
M String-Vergleich und NullPointerException Java Basics - Anfänger-Themen 4
D Java Fehler: NullPointerException Java Basics - Anfänger-Themen 1
M Vergleich zweier Array Stellen mit equals/NullpointerException Java Basics - Anfänger-Themen 9
X Problem mit NullPointerException Java Basics - Anfänger-Themen 2
K NullPointerException in der Hashtable Java Basics - Anfänger-Themen 4
S Interpreter-Fehler Hilfestellung bei einer NullPointerException Java Basics - Anfänger-Themen 1
S GraphNode --- Dijkstra Algorithmus : NullPointerException Java Basics - Anfänger-Themen 1
L NullPointerException Java Basics - Anfänger-Themen 11
M Nullpointerexception??? Java Basics - Anfänger-Themen 2
W NullPointerException bei DefaultListModel Java Basics - Anfänger-Themen 5
N NullPointerException bei Konsolenausgabe Java Basics - Anfänger-Themen 5
J Klasse in Klasse; NullPointerException Java Basics - Anfänger-Themen 8
R NullPointerException wegen JPanel oder doch nicht ? Java Basics - Anfänger-Themen 7
Q NullPointerException Java Basics - Anfänger-Themen 5
H NullPointerException Java Basics - Anfänger-Themen 5
T Threads MultiThreading NullPointerException Java Basics - Anfänger-Themen 7
K NullPointerException wird geworfen, bitte um Hilfe! Java Basics - Anfänger-Themen 7
O Objekt weitergeben Meth Class NullPointerException Java Basics - Anfänger-Themen 2
J Char-Array - NullPointerException Java Basics - Anfänger-Themen 3
M Compiler-Fehler Java suckt - java.lang.NullPointerException Java Basics - Anfänger-Themen 12
S Array wird nicht übernommen NullPointerException Java Basics - Anfänger-Themen 6
S Datentypen List.toString wirft NullPointerException Java Basics - Anfänger-Themen 5
L Compiler-Fehler Exception in thread "main" java.lang.NullPointerException Java Basics - Anfänger-Themen 2
H Compiler-Fehler NullPointerException bei .length, Konstruktor fehlerhaft? Java Basics - Anfänger-Themen 3
B JRadioButton wechsel gibt NullPointerException Java Basics - Anfänger-Themen 2

Ähnliche Java Themen


Oben