Moin,
Ich habe eine Frage. Unsere Aufgabenstellung ist folgende.
## Tripple in Zeichenketten finden
*
* Entwickeln Sie nun bitte eine Methode
* einer Zeichenkette niemals drei (oder mehr) gleiche Zeichen aufeinander
* folgen.
*
* Verallgemeinern Sie
* dass die Anzahl der zu wiederholenden Zeichen parameterisiert ist.
Und wir sollen einen allgemeinen Code schreiben für für noMultiples Methode mit der Angabe für die maximalen Wiederholungen und diese dann nochmal, für den Fall, dass diese nicht parametisiert sind. Dann soll die noMultiples Methode wiederholt werden ohne maxRepeats. Kann mir jemand erklären, wie genau ich das mache bzw. wo der Fehler hier liegt?
ps. bin noch Anfänger, seid gnädig
Mein Code wäre
class Main {
public static boolean noMultiples(int maxRepeats, String s) {
if ( s == null || s.isEmpty()) {
return true;
}
char currentChar = s.charAt(0);
int count = 1;
for (int i = 1; i < s.length(); i++) {
char nextChar = s.charAt(i);
if (nextChar == currentChar) {
count++;
if (count > maxRepeats) {
return false;
} else {
currentChar = nextChar;
count = 1;
}
}
}
return true;
}
public static boolean noMultiples(String s) {
return noMultiples(2, s);
}
public static void main(String[] args) {
boolean result = noMultiples("Hello World");
System.out.println(result); // => true
System.out.println(noMultiples("faaantastic")); // => false
System.out.println(noMultiples(2, "Hello World")); // => false
}
}
Ich habe eine Frage. Unsere Aufgabenstellung ist folgende.
## Tripple in Zeichenketten finden
*
* Entwickeln Sie nun bitte eine Methode
noMultiples()
, die prüft, ob in* einer Zeichenkette niemals drei (oder mehr) gleiche Zeichen aufeinander
* folgen.
*
* Verallgemeinern Sie
noMultiples()
nun so,* dass die Anzahl der zu wiederholenden Zeichen parameterisiert ist.
Und wir sollen einen allgemeinen Code schreiben für für noMultiples Methode mit der Angabe für die maximalen Wiederholungen und diese dann nochmal, für den Fall, dass diese nicht parametisiert sind. Dann soll die noMultiples Methode wiederholt werden ohne maxRepeats. Kann mir jemand erklären, wie genau ich das mache bzw. wo der Fehler hier liegt?
ps. bin noch Anfänger, seid gnädig
Mein Code wäre
class Main {
public static boolean noMultiples(int maxRepeats, String s) {
if ( s == null || s.isEmpty()) {
return true;
}
char currentChar = s.charAt(0);
int count = 1;
for (int i = 1; i < s.length(); i++) {
char nextChar = s.charAt(i);
if (nextChar == currentChar) {
count++;
if (count > maxRepeats) {
return false;
} else {
currentChar = nextChar;
count = 1;
}
}
}
return true;
}
public static boolean noMultiples(String s) {
return noMultiples(2, s);
}
public static void main(String[] args) {
boolean result = noMultiples("Hello World");
System.out.println(result); // => true
System.out.println(noMultiples("faaantastic")); // => false
System.out.println(noMultiples(2, "Hello World")); // => false
}
}