Hi also der Fehler ist das die Funktion berechneKurzbezeichnung nicht das richtige rechnet was ich erwarte.
Der code lautet dafür :
public static String erzeugeKurzbezeichnung(int i, String Bezeichnung){
int anzahl=0;
String Kurzbe = Bezeichnung.replaceAll("[eauoiäüöEAUOIÄÜÖ]","");
Kurzbe = Kurzbe.replaceAll("[ß]", "s");
Kurzbe = Kurzbe.toUpperCase();
//Kurzbe = Kurzbe.trim();
String s = String.valueOf(Nr);
if(s.length()<4){
s = "0"+s;
}else s = s.substring(0, 3);
Kurzbezeichnung = Kurzbe+s;
return Kurzbezeichnung;
und die Aufgabestellung
Aufgabe 2 –Methode zur Erstellung von Kurzbezeichnungen
Die Klasse Artikel soll eine statische Methode
String erzeugeKurzbezeichnung(int nr,String bezeichnung)
erhalten, die aus einer übergebenen Nr und Artikelbezeichnung eine
Kurzbezeichnung erstellt. Aufrufe dieser Methode sind fachlich passend in die Klasse
Artikel zu integrieren (siehe hierzu Angaben in Aufgabe 1).
Eine Kurzbezeichnung eines Artikels besteht aus:
- bis zu 8 Konsonanten oder Ziffern aus der Artikelbezeichnung
- exakt 4 Ziffern, die sich aus der Artikel-Nr. ergeben
- einer 1-stelligen „Prüfziffer“
Beispiel:
Artikel-Nr.: 123
Artikelbezeichnung: Torx-*‐Schrauben
6x35
Ergeben folgende Kurzbezeichnung: TRXSCHRB01238
Folgende Regeln gelten für die Bildung der Kurzbezeichnung:
- Es werden die ersten 8 Konsonanten und/oder Ziffern von 0 - 9 der
Artikelbezeichnung berücksichtigt
o sind weniger vorhanden ist dieser Teil entsprechend kürzer
o Sonderzeichen werden nicht berücksichtigt
o Abweichende Alphabete mit Akzenten u. Ä. können ignoriert werden
(diese Fälle werden nicht getestet)
o Der Buchstabe „ß“ wird durch ein „s“ ersetzt
o Die Kurzbezeichnung enthält nur Großbuchstaben
- Es werden die letzten 4 Stellen der Artikel-Nr. angefügt
o Ist die Artikel-Nr. kürzer, wird mit der Ziffer „0“ auf 4 Stellen aufgefüllt
- Am Ende wird eine 1-stellige Prüfziffer angefügt
Die Bildungsregeln für die Prüfziffer lauten wie folgt:
- Jedem der 26 Buchstaben des Alphabets ist ein Wert zugeordnet:
A = 1, B = 2, C = 3, … Z = 26
- Die Werte aller Buchstaben sowie die Werte der einzelnen 4 Ziffern, die aus
der Artikel-Nr. abgeleitet wurden, werden zusammenaddiert und der
ganzzahlige Rest einer Division der Summe durch 11 wird als Prüfziffer
angehängt
o Beträgt der ganzzahlige Rest 10, so ist ein „X“ anzuhängen