also definition von klassen und string methoden und algorithmik

akschay

Mitglied
Hallo Leute bin ganz neu in dem Forum, also ich habe einmal die Aufgabenstellung angehängt und dazu die gemachte Aufgabe von mir. Mein Problem ist das ich einen Fehler angezeigt bekomme in der Programmierung und seit Tagen komme ich nicht auf die Lösung bzw Korrektur. Kann mir bitte jemand helfen diesen kleinen Fehler ausfindig zu machen und zu korrigieren und zu erweitern, bin echt am verzweifeln. Vielen Dank schon mal im Vorraus
 

Anhänge

  • image.jpg
    image.jpg
    89 KB · Aufrufe: 64
Zuletzt bearbeitet:

javampir

Bekanntes Mitglied
hi,
uns wäre sehr geholfen, wenn du die fehlermeldung posten würdest. außerdem ist es hilfreich, den code zu schreiben und in code-tags zu setzen.
ich könnte mir denken, dass der fehler in der vorletzten zeile ist. da zauberst du Kurzbezeichnung aus dem nichts hervor, da musst du nochmal String davorschreiben, also:
Java:
String Kurzbezeichnung = Kurzbe + s;
Tip: gewöhne dir an, variablennamen klein zu schreiben.
javampir
 

akschay

Mitglied
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
 

kaoZ

Top Contributor
mal abgesehen davon ist der Code grausam Formatiert und Variablen falsch deklariert sind, solltest du Code immer in Java Tags Posten , damit das Ganze lesbar wird.

Java:
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;

1. Variablen Schreibt man lowerCamelCase
2. bei deinen Sonderzeichen kann man das Schöner durch REGEX + Konstanten lösen.
3. wo ist dein eigener Ansatz für die Restlichen Aufgabenstellungen ?
4. du sollst hier eine Artikelnummer liefern , würde es da nicht Sinn machen deine Variable auch dementsprechend zu deklarieren ?

Poste mal den ganzen Code den du bist jetzt bereits hast :)
 
Zuletzt bearbeitet:

nvidia

Bekanntes Mitglied
[...] Mein Problem ist das ich einen Fehler angezeigt bekomme in der Programmierung und seit Tagen komme ich nicht auf die Lösung bzw Korrektur.[...]

Wenn du seit Tagen nicht auf die Lösung gekommen bist ist Softwareentwicklung vll. nichts für dich. :)

Java:
public static String erzeugeKurzbezeichnungLeserlich(int artikelNr, String bezeichnung){
        Objects.requireNonNull(bezeichnung);
        if(bezeichnung.isEmpty() || artikelNr < 0){
            throw new IllegalArgumentException();
        }

        String kurzbezeichnung =
                bezeichnung
                        .toUpperCase()
                        .replaceAll("ß", "s")
                        .replaceAll("[^A-Z0-9[AEIOU]]", "")
                        .substring(0, Math.min(bezeichnung.length(), 8))
                            + String.format("%04d", (int)Math.log10(artikelNr)+1 <= 4
                                                        ? artikelNr
                                                        : artikelNr % 10000);

        int pruefziffer =
                kurzbezeichnung
                        .chars()
                        .map(c -> Character.isDigit(c) ? Character.digit(c, 10) : c - 64)
                        .sum() % 11;

        return kurzbezeichnung + (pruefziffer != 10 ? pruefziffer : "X");
    }
 

kaoZ

Top Contributor
:D Er haut ihm direkt Lambda Expressions um die Ohren + (Tenäre Operatoren xD)

Ich vermute mal das wird selbst mit Java 7 schon nicht einfach für den TO

da würde ich ihn mit Java 8 nicht zusätzlich Schockieren ^^

[EDIT]Immerhin hast du ihn nicht mit einem Funktionalen Interface Bombadiert :lol:[/EDIT]
 
Zuletzt bearbeitet:

nvidia

Bekanntes Mitglied
Er haut ihm direkt Lambda Expressions um die Ohren + (Tenäre Operatoren [...])
[...]

Finde ich nicht schlimm, vor allem Anfänger die von Java noch nicht viel wissen profitieren wenn man sie früh mit den neuen Möglichkeiten in Kontakt bringt. Die müssen viel weniger bzw. gar nicht "umdenken" als jmd der seit x-Jahren nur Java entwickelt. Es ist eben nur schade das Bücher oder Tutorials sehr langsam oder gar nicht aktualisiert werden.
 
Zuletzt bearbeitet:

kaoZ

Top Contributor
Ne , ist ja schon richtig , fands nur irgendwie ziemlich funny

ich arbeite mich atm. auch in Lamda Expressions ein die Syntax ist ja auch viel einfacher / man spart knapp 5 Zielen mit einer expression.

Allerdings meckert Eclipse über die Syntax, kannst du ersehen Warum ? bzw. mir sagen was falsch ist / sein soll ?! ( Wenn wir schonmal dabei sind )

Java:
public class LamdaExpressions {

	public LamdaExpressions() {
	
		//Anonymes Runnable
		Runnable r = new Runnable() {
			@Override
			public void run() {
				System.out.println("Anonymes Runnable");
				
			}
		};
		
		//Lamda Expression
		Runnable r2 = () -> System.out.println("Lamda Runnable!"); // () -> hier wird laut Eclipse eine Expression erwartet.....
	}
}
 
Zuletzt bearbeitet:

Flown

Administrator
Mitarbeiter
Ne , ist ja schon richtig , fands nur irgendwie ziemlich funny

ich arbeite mich atm. auch in Lamda Expressions ein die Syntax ist ja auch viel einfacher / man spart knapp 5 Zielen mit einer expression.

Allerdings meckert Eclipse über die Syntax, kannst du ersehen Warum ? bzw. mir sagen was falsch ist / sein soll ?! ( Wenn wir schonmal dabei sind )

Java:
public class LamdaExpressions {

	public LamdaExpressions() {
	
		//Anonymes Runnable
		Runnable r = new Runnable() {
			@Override
			public void run() {
				System.out.println("Anonymes Runnable");
				
			}
		};
		
		//Lamda Expression
		Runnable r2 = () -> System.out.println("Lamda Runnable!"); // () -> hier wird laut Eclipse eine Expression erwartet.....
	}
}

Der Code funktioniert einwandfrei. Keine Probleme beim Ausführen.
 

kaoZ

Top Contributor
Der Code funktioniert einwandfrei. Keine Probleme beim Ausführen.

Okay.....das ist strange ....

[EDIT]
Scheint an Eclipse 4.3.2 zu liegen , anscheinend gibts da nen Feature Patch , Lamda Expressions werden wohl erst ab 4.4 unterstützt, ich werds mal eben patchen
[/EDIT]

Hier mal der Link zum Patch für Eclipse 4.3.2, diesen in Eclipse einfach unter install new Software einfügen :

Code:
http://download.eclipse.org/eclipse/updates/4.3-P-builds/

EDIT : Nach Neuinstallation und anpassen des Builds / Build Paths und der Compiler Version klappt es nun auch wunderbar ^^
 
Zuletzt bearbeitet:

kaoZ

Top Contributor
Es stehen doch schon einige Bespiele geschrieben ?!

Die Aufgabenstellung ist klar formuliert, wenn du jetzt spezielle teile nicht umsetzen kannst, dann kannst du hier natürlich Fragen zu deinem Aktuellen Problem stellen,

aber es wird sich keiner hinsetzen und dir alles vorkauen ;)

Eigeninitiative ist die Devise.

Poste doch mal den Code den du bis jetzt geschrieben hast.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
K Servlets - Erklärung/Definition Allgemeine Java-Themen 2
L Definition Ober und Unterkriterium Allgemeine Java-Themen 1
F Neues Objekt aus .CSV definition Allgemeine Java-Themen 3
N deklaration vs definition Allgemeine Java-Themen 6
M Definition Stateengine Allgemeine Java-Themen 2
I Mehrere Klassen mit den selben Daten Allgemeine Java-Themen 5
Zrebna Wie ermittelt man alle testbaren (zu testenden) Klassen in seinem Maven-Projekt? Allgemeine Java-Themen 23
8u3631984 Jacoco Testcoverage bei Abstracten Klassen in verschachtelten Modulen Allgemeine Java-Themen 6
Encera Gleichzeitiges Ausführen und verbinden von 2 Java-Klassen über die Eingabeaufforderung und Eclipse Allgemeine Java-Themen 21
8u3631984 Problem beim Mocken von Record Klassen Allgemeine Java-Themen 4
B Ein Objekt einer Klasse mehreren anderen Klassen zur Verfügung stellen? Allgemeine Java-Themen 6
B Java Reflection Probleme beim wehcselseitigen Referenzieren zweier Klassen/Objekte Allgemeine Java-Themen 14
P9cman java.Lang Klassen fehlen in JRE System Library Allgemeine Java-Themen 1
B Wie kann ich mein 8 Klassen Gebilde objektorientierter schreiben? Allgemeine Java-Themen 114
N abstracte klassen methoden Allgemeine Java-Themen 32
W Klassen Zugriff auf ein Textfile aus allen Klassen. Allgemeine Java-Themen 2
M Klasse durch Klassen Aufteilung verbessern, aber wo? Allgemeine Java-Themen 1
stormyark Problem beim Klassen erstellen Allgemeine Java-Themen 1
M Kann man Annotationen auf Klassen einschränken die ein Interface implementieren? Allgemeine Java-Themen 1
nonickatall Methoden Kann man Klassen/Methoden aus Variablen heraus aufrufen? Allgemeine Java-Themen 6
H Interface PluginSystem ClassNotFound exception für library Klassen Allgemeine Java-Themen 10
L Classpath Zur Laufzeit bestimmte Klassen in Classloader hinzufügen? Allgemeine Java-Themen 4
P Abstrakte Klassen vs. Interface Allgemeine Java-Themen 4
I Klassen aus Jar-Dateien aus anderem Ordner laden Allgemeine Java-Themen 3
D OOP Gemeinsamen ID-Raum für zwei Klassen implementieren Allgemeine Java-Themen 7
B Problem mit meinen Klassen Allgemeine Java-Themen 6
I Array Parameter mit 2 Klassen - NullPointerException Allgemeine Java-Themen 3
F ArrayList`s in Klassen mit Getter/Setter Allgemeine Java-Themen 8
F Code in Klassen bringen Allgemeine Java-Themen 4
J Problem beim Generischen Klassen und Interfaces Allgemeine Java-Themen 2
F Klassen Verwendung abstrakter Klassen Allgemeine Java-Themen 9
W Variablenübergabe über mehrere Klassen Allgemeine Java-Themen 4
B Vererbung Interface und implementierende Klassen Allgemeine Java-Themen 8
D Klassen JLabels in anderen Klassen verwenden. Allgemeine Java-Themen 7
H Klassen LibGDX - Verschiedene Klassen als Value in einer Map Allgemeine Java-Themen 8
J Best Practice Objekt an alle Klassen verteilen ( Discord Bot ) Allgemeine Java-Themen 7
A Anonyme Klassen - Interface Allgemeine Java-Themen 5
ReinerCoder auf Klassen innerhalb eines package zugreifen Allgemeine Java-Themen 22
J Tetris Probleme bei Klassen Allgemeine Java-Themen 14
cool_brivk24 Klassen Klassen Aufruf Fehlgeschlagen Allgemeine Java-Themen 14
S Parametrisierte jUnit 5-Tests mit eigenen Datentypen/Klassen-Objekten als Test-Parameter Allgemeine Java-Themen 0
rentasad Design-Frage - Interfaces, Klassen, statische Methoden Allgemeine Java-Themen 3
S Klassen Abstrakte Klassen Allgemeine Java-Themen 5
T Log4J - Deaktivierung für einzelne Klassen Allgemeine Java-Themen 7
Tommy Nightmare Klassen Globale Klassen erstellen Allgemeine Java-Themen 7
X Klassen aus jar in jar Laden Allgemeine Java-Themen 1
S Klassen Klassen "virtuell" erstellen Allgemeine Java-Themen 5
J Aus mehreren Klassen ein Datei ausführbare machen Allgemeine Java-Themen 6
S equals-Methode bestimmer Klassen abfangen Allgemeine Java-Themen 2
M Klassen Eine Klasse in mehreren Klassen einbinden Allgemeine Java-Themen 11
Sin137 Struktur der Klassen & Package Allgemeine Java-Themen 2
G Klassen und interne Klassen Allgemeine Java-Themen 1
S Klassen übergeben Allgemeine Java-Themen 13
C Klassen und Konstruktor Allgemeine Java-Themen 2
S Classpath Wie kann ich Java-Library Klassen "verstecken"..? Allgemeine Java-Themen 4
A Java speech - 2 Klassen Allgemeine Java-Themen 1
V Wie kann ich die Fragen mit den anderen Klassen verbinden? Allgemeine Java-Themen 1
T Schlüsselworte mehrere public-Klassen in einem Paket Allgemeine Java-Themen 7
V Klassenname von allen Klassen mit einer bestimmten Eigenschaft bekommen Allgemeine Java-Themen 2
B Classpath Eclipse findet importierte Klassen nicht Allgemeine Java-Themen 1
C DBConnection als Methode in mehreren Klassen Allgemeine Java-Themen 4
C Arten von Klassen Allgemeine Java-Themen 3
7 Verbinden von Mehreren Klassen Allgemeine Java-Themen 29
A Klassen ein Interface aufzwingen Allgemeine Java-Themen 4
O Java-Obfuscator, welcher einzelne Methoden, Klassen und Ordnerstrukturen ausnehmen kann. Allgemeine Java-Themen 1
D Problem bei Vererbung abstrakter Klassen Allgemeine Java-Themen 6
M Interface Generische Klassen mit mehreren Typen überschreiben Allgemeine Java-Themen 0
L OOP Klassen-Design (static oder nicht?) Allgemeine Java-Themen 3
X Eigene Annotation - mit Bedingung für ganze Klassen oder Methoden Allgemeine Java-Themen 2
O Klassen Programm in Klassen unterteilt, werte werden nicht mehr übernommen Allgemeine Java-Themen 3
J C++ Projekt (QT) in Java mit Klassen (nicht imperativ) nutzen (BridJ? JavaCPP? SWIG? JNA? JNI?) Allgemeine Java-Themen 2
T Datentypen Eine Liste - verschiedenen Klassen - eine Abstracte Klasse Allgemeine Java-Themen 3
S .jar hat nicht alle Klassen ??? Allgemeine Java-Themen 10
S Polymorphie Polymorphismus bei Abstrakten Klassen Allgemeine Java-Themen 2
S Tool um mehrere Klassen in einer Klasse vereinen? Allgemeine Java-Themen 6
T Wie kann ich alle existierenden Java-Klassen anzeigen lassen? Allgemeine Java-Themen 10
Landei Welche Klassen fehlen im JDK? Allgemeine Java-Themen 18
S Kapselung Statische Helper Klassen Allgemeine Java-Themen 5
A Vererbung Klassen-Downcasting wirft ClassCastException Allgemeine Java-Themen 2
N Java Klassen mit ID Allgemeine Java-Themen 21
antonbracke Klassen Klassen gegenseitig laden Allgemeine Java-Themen 4
R SecurityManager für einzelne Klassen/Threads? Allgemeine Java-Themen 38
T Java Klassen aus externer .jar laden und ausführen Allgemeine Java-Themen 3
S JPA und Entity-Klassen: Wert ungültig Allgemeine Java-Themen 6
M OO / Klassen / Projektstruktur Allgemeine Java-Themen 5
O Klassen werden nicht importiert Allgemeine Java-Themen 3
E selber Klassen kompilieren/ prüfen Allgemeine Java-Themen 5
Z Abstrakte Klassen /Interface Allgemeine Java-Themen 5
A Klassen und JLabel's Allgemeine Java-Themen 12
J Java-Implementierung diverser Beziehungen zwischen Klassen bzw. Objekten Allgemeine Java-Themen 2
M Methoden/Klassen für andere Projekte Allgemeine Java-Themen 4
J Suche: Tool zum Auffinden gleichnamiger Klassen (Name und Package gleich) in unteschiedlichen JARs Allgemeine Java-Themen 5
E instanceof mit nicht öffentlichen Klassen Allgemeine Java-Themen 2
D Datentypen Typbestimmung unbekannter Wrapper-Klassen Allgemeine Java-Themen 5
S Klassen in einer Schleife durchlaufen Allgemeine Java-Themen 11
X Generic muss zwei Klassen/Interfaces erfüllen Allgemeine Java-Themen 5
N Vergleich eigener Klassen Allgemeine Java-Themen 5
M Klassen Array aus Klassen bestimmter Klassen ? Allgemeine Java-Themen 11
C OOP Klassen mit "Eigenschaften" Allgemeine Java-Themen 10
H Klassen kommunizieren lassen Allgemeine Java-Themen 3

Ähnliche Java Themen

Neue Themen


Oben