Hallo alle zusammen und zwar hab ich eine Hausaufgabe aufbekommen die ich lösen muss. Es geht um Methoden, Klassen und Strings. Ich hab Probleme mit der Aufgabe weil viel verlangt wird es sind Sachen vorgegeben mit der man die Aufgabe lösen soll jedoch verwirren sie mich noch ein bisschen weil ich noch neu in dem Thema Methoden drin bin. Also vorab wäre es schön wenn ich den Aufbau meines Quelltextes hinbekommen würde damit mir vllt vieles klarer wird was denn jetzt als Klasse und was als Methode aufgezählt werden muss. Danach wäre es sehr schön wenn ihr mir Schritt für Schritt mit der Lösung der Aufgabe helfen könnt:rtfm: es geht mir darum alles zu verstehen und ich möchte nicht das ihr für mich die Aufgabe löst aber vllt könnte man die Struktur die hier erforderlich ist erklären bzw. vorgeben. danke im voraus:toll:
Also die Aufgabe lautet:
Ein oft benutztes Verfahren zum Erstellen von Passwörtern ist die Verwendung von Merksätzen oder
Zitaten. Von einem einfach zu merkenden Satz werden aus den einzelnen Wörtern jeweils die
Buchstaben an einer bestimmten Position herausgenommen und hintereinander gefügt. Ein Passwort
sollte aber immer mindestens 6 und maximal 10 Zeichen lang sein.
Implementieren Sie eine Klasse Passwort, die eine statische Methode
static String erstellePasswort(String satz, int pos)bereitstellt. Die Methode
soll aus einem zu übergebenen Satz und der Angabe der Position unter Verwendung des oben
beschriebenen Verfahrens ein Passwort konstruieren.
Falls dabei ein Wort kürzer als die gewünschte Position ist, soll statt des Buchstabens ein '?' in das
Passwort eingefügt werden.
Bei einer unerlaubten Passwortlänge (Anzahl der Wörter im Satz < 6 oder Anzahl der Wörter > 10)
soll eine Instanz der selbst zu definierenden Ausnahmeklasse PasswortException ausgeworfen
und an die aufrufende Stelle weitergereicht werden.
Testen Sie die Methode erstellePasswort in der main-Methode. Verwenden Sie zum Einlesen
eines Satzes die Methode nextLine() der Klasse Scanner. In der main-Methode soll die
Ausnahmebehandlung durchgeführt werden, die aufgrund fehlerhafter Nutzung der Methode
erstellePasswort auftreten kann. Nach der Ausnahmebehandlung soll der Nutzer zur
wiederholten Eingabe eines Merksatzes aufgefordert werden.
Für die Lösung der Aufgabe sind die folgenden Methoden der Klasse String zu verwenden.
int length()- die Methode ermittelt die Länge eines StringObjektes
String s = "JAVA-IST-TOLL";
int i = s.length(); // i hat den Wert 13
String[] split(String separator)- zerlegt ein StringObjekt an dem Zeichen
separator in ein Array von Teilstrings
String[] woerter = s.split("-");
int len = woerter.length; //len hat den Wert 3 mit den Teilstrings
JAVA, IST, TOLL
char charAt(int index)- gibt das Zeichen an Position index eines StringObjektes zurück
char c = s.charAt(7); // c hat den Wert 'T'
Das ist der Aufbau vllt noch nicht ganz richtig aber ich hoffe ich hab es schon ansatzweise verstanden:rtfm:
Also die Aufgabe lautet:
Ein oft benutztes Verfahren zum Erstellen von Passwörtern ist die Verwendung von Merksätzen oder
Zitaten. Von einem einfach zu merkenden Satz werden aus den einzelnen Wörtern jeweils die
Buchstaben an einer bestimmten Position herausgenommen und hintereinander gefügt. Ein Passwort
sollte aber immer mindestens 6 und maximal 10 Zeichen lang sein.
Implementieren Sie eine Klasse Passwort, die eine statische Methode
static String erstellePasswort(String satz, int pos)bereitstellt. Die Methode
soll aus einem zu übergebenen Satz und der Angabe der Position unter Verwendung des oben
beschriebenen Verfahrens ein Passwort konstruieren.
Falls dabei ein Wort kürzer als die gewünschte Position ist, soll statt des Buchstabens ein '?' in das
Passwort eingefügt werden.
Bei einer unerlaubten Passwortlänge (Anzahl der Wörter im Satz < 6 oder Anzahl der Wörter > 10)
soll eine Instanz der selbst zu definierenden Ausnahmeklasse PasswortException ausgeworfen
und an die aufrufende Stelle weitergereicht werden.
Testen Sie die Methode erstellePasswort in der main-Methode. Verwenden Sie zum Einlesen
eines Satzes die Methode nextLine() der Klasse Scanner. In der main-Methode soll die
Ausnahmebehandlung durchgeführt werden, die aufgrund fehlerhafter Nutzung der Methode
erstellePasswort auftreten kann. Nach der Ausnahmebehandlung soll der Nutzer zur
wiederholten Eingabe eines Merksatzes aufgefordert werden.
Für die Lösung der Aufgabe sind die folgenden Methoden der Klasse String zu verwenden.
int length()- die Methode ermittelt die Länge eines StringObjektes
String s = "JAVA-IST-TOLL";
int i = s.length(); // i hat den Wert 13
String[] split(String separator)- zerlegt ein StringObjekt an dem Zeichen
separator in ein Array von Teilstrings
String[] woerter = s.split("-");
int len = woerter.length; //len hat den Wert 3 mit den Teilstrings
JAVA, IST, TOLL
char charAt(int index)- gibt das Zeichen an Position index eines StringObjektes zurück
char c = s.charAt(7); // c hat den Wert 'T'
Das ist der Aufbau vllt noch nicht ganz richtig aber ich hoffe ich hab es schon ansatzweise verstanden:rtfm:
Java:
import java.util.Scanner
public class passwort{
public static void main(String[] arg){
Scanner in = new Scanner (System.in);
passwort = in.nextLine();
}
public static String erstellePasswort(String satz, int pos){
}
public static int length(){
}
public static String[] split(String separator){
}
public static char charAt(int index){
}
}
Zuletzt bearbeitet von einem Moderator: