java aufgabe

H

Heyoka955

Gast
ich habe eine aufgabe bekommen bei dem ich einen String übergeben bekomme und wenn ein you oder u drinne steht soll ich das als "your sister" zurückgeben bsp.

Input "I miss you"
Output "i miss your sister"

ich habe es versucht mit contains with oder replace aber irgendwie klappt das nicht
Java:
public class Kata {
  public static String autocorrect(String input) {
    
      input.replaceAll("you","your sister");
      
    
    

  
    return input;
  }
}
 

Robat

Top Contributor
Strings sind immutable, also nicht verändern ich. Die replaceAll() Methode gibt den neuen veränderten String zurück
 
H

Heyoka955

Gast
Gib einfach das zurück, was die replaceAll Methode zurück gibt
Java:
public class Kata {
  public static String autocorrect(String input) {
    
      
    if(input.contains("u")){
       return input.replaceAll("u","your sister");
    }
    
    if(input.contains("you")){
       return input.replaceAll("you","your sister");
    
    
    }

    return input;
  
  }
}



Fehlermeldung:



Wrong result for "I miss you!": expected:<I miss yo[]ur sister!> but was:<I miss yo[yo]ur sister!>
 

Robat

Top Contributor
Du solltest erst auf "you" prüfen, weil "you" ja selbst auch ein u enthält. Das heißt selbst wenn dein String "I miss you" enthält würdest du das u ersetzen und damit kommt "i miss yoyour sister" raus.
 
H

Heyoka955

Gast
Du solltest erst auf "you" prüfen, weil "you" ja selbst auch ein u enthält. Das heißt selbst wenn dein String "I miss you" enthält würdest du das u ersetzen und damit kommt "i miss yoyour sister" raus.
ok der test hat auch geklappt jetzt spuckt er eine andere Meldung aus.
Java:
Wrong result for "Can't wait to see youuuuu": expected:<...t to see your sister[]> but was:<...t to see your sister[uuuu]>
 

Robat

Top Contributor
Naja ist ja auch logisch warum. Du prüfst auf "u" und auf "you". Bevor wir danach auf weiter Tests stoßen die fehlschlagen: wie ist denn die genaue Aufgabenstellung?
 
H

Heyoka955

Gast
Du solltest erst auf "you" prüfen, weil "you" ja selbst auch ein u enthält. Das heißt selbst wenn dein String "I miss you" enthält würdest du das u ersetzen und damit kommt "i miss yoyour sister" raus.
Your friend won't stop texting his girlfriend. It's all he does. All day. Seriously. The texts are so mushy too! The whole situation just makes you feel ill. Being the wonderful friend that you are, you hatch an evil plot. While he's sleeping, you take his phone and change the autocorrect options so that every time he types "you" or "u" it gets changed to "your sister."

Write a function called autocorrect that takes a string and replaces all instances of "you" or "u" (not case sensitive) with "your sister" (always lower case).

Return the resulting string.

Here's the slightly tricky part: These are text messages, so there are different forms of "you" and "u".

For the purposes of this kata, here's what you need to support:

  • "youuuuu" with any number of u characters tacked onto the end
  • "u" at the beginning, middle, or end of a string, but NOT part of a word
  • "you" but NOT as part of another word like youtube or bayou
das ist die aufgabe
 

Robat

Top Contributor
Also dein Ansatz mit replaceAll ist schon mal nicht schlecht. Allerdings solltest du dich zusätzlich mal mit RegEx auseinandersetzen. Damit kann man die Aufgabe recht schön lösen (gerade der Teil mit youuuu with any number of u character tacked onto the end)
 
H

Heyoka955

Gast
Naja ist ja auch logisch warum. Du prüfst auf "u" und auf "you". Bevor wir danach auf weiter Tests stoßen die fehlschlagen: wie ist denn die genaue Aufgabenstellung?
den einen test habe ich auch bestanden nun ein weiterer test hahha
Java:
Wrong result for "I want to film the bayou with you and put it on youtube": expected:<...nt to film the bayou[ with your sister and put it on you]tube> but was:<...nt to film the bayou[r sister with your sister and put it on your sister]tube>


public class Kata {
  public static String autocorrect(String input) {
    
  
    
    
    if(input.contains("you")){
      if(input.contains("youuuuu")){
      
        return input.replaceAll("youuuuu","your sister");
      
      }
       return input.replaceAll("you","your sister");
    
    
    
    }

    
    
     if(input.contains("u")){
       return input.replaceAll("u","your sister");
    }

    return input;
  
  }
}
 
H

Heyoka955

Gast
Also dein Ansatz mit replaceAll ist schon mal nicht schlecht. Allerdings solltest du dich zusätzlich mal mit RegEx auseinandersetzen. Damit kann man die Aufgabe recht schön lösen (gerade der Teil mit youuuu with any number of u character tacked onto the end)
ich will regEx erst lernen wenn ich soweit bin. versuche das so zu lösen.
 

Robat

Top Contributor
Dein Weg ist aber definitiv nicht "the way to go". Ich hab deine anderen Threads nur nebenbei verfolgt. Was mir aber hängen geblieben ist, ist das du versuchst die Aufgabe immer wieder durch einzelne Fälle zu lösen. So auch hier. "youuuuu" ist nur eine mögliche Kombination. Möglich wäre auch "youu", "youuu", "youuuuuuuu", ..... so viele if-Abfragen kannst und willst du auch nicht schreiben.

Geh das Problem doch mal allgemein an und zerlege es in Teilprobleme - so wie es in der Aufgabe beschrieben ist:
- Schau ob dein String "you" enthält --> Wenn ersetze "you"
- Schau ob dein String "you" mit n weiteren u's enthält. Falls ja, ersetze you + die n u's
- Schau ob am Anfang, in der Mitte oder am Ende ein "u" enthalten ist.

Wenn du es ohne RegEx machen willst musst du dir andere Möglichkeiten überlegen es allgemein zu halten. youuuuu... könntest du zB mit einer Schleife prüfen.
 
H

Heyoka955

Gast
Dein Weg ist aber definitiv nicht "the way to go". Ich hab deine anderen Threads nur nebenbei verfolgt. Was mir aber hängen geblieben ist, ist das du versuchst die Aufgabe immer wieder durch einzelne Fälle zu lösen. So auch hier. "youuuuu" ist nur eine mögliche Kombination. Möglich wäre auch "youu", "youuu", "youuuuuuuu", ..... so viele if-Abfragen kannst und willst du auch nicht schreiben.

Geh das Problem doch mal allgemein an und zerlege es in Teilprobleme - so wie es in der Aufgabe beschrieben ist:
- Schau ob dein String "you" enthält --> Wenn ersetze "you"
- Schau ob dein String "you" mit n weiteren u's enthält. Falls ja, ersetze you + die n u's
- Schau ob am Anfang, in der Mitte oder am Ende ein "u" enthalten ist.

Wenn du es ohne RegEx machen willst musst du dir andere Möglichkeiten überlegen es allgemein zu halten. youuuuu... könntest du zB mit einer Schleife prüfen.
Wie überlege ich ein you das mehrere u‘s hat?
Gibt es keine Methode dazu?
 
H

Heyoka955

Gast
Du gehst Wort für Wort durch und schaust ob das Wort mit "you" anfängt. Ist das der Fall, schaust du ob jedes weitere Zeichen ein u ist.

String#containsYouWithMultipleUs() .. vielleicht wird es in Java 13 ja so eine Methode geben :p
Hahah okay ich mache es mal mit Dir schleifen. Mal sehen wie es wird. Ich dachte das wäre simplere. Brauche aber deine Hilfe.
Was würdest du für die Aufgabe geben also vom nineau her ?
 

mihe7

Top Contributor
Habe gerade versucht, mehr herauszufinden. Andere scheinen das tatsächlich mit beliebig vielen "u"s gelöst zu haben, ich gehe also mal davon aus, dass Du Recht hast und die Testfälle entsprechend sind.
 

httpdigest

Top Contributor
Irgendwie glaube ich, dass alle bisherigen/letzten Übungen unter der Überschrift "regular expressions" liefen. Diese Übung hier ist schon etwas trickiger, kann aber meiner Meinung nach mit einem einzigen replaceAll()-Aufruf gelöst werden, wenn man sich etwas mehr in die "advanced features" (insbesondere "zero-width matches") von Java Regular Expressions einliest.
Dann geht das so:
Java:
public static String replaceYou(String sentence) {
  return sentence.replaceAll(
      "(?<=^|\\s+|[,.])(you+|u)(?=$|\\s+|[,.])", "your sister");
}
public static void main(String[] args) {
  System.out.println(replaceYou(
      "u, you, u and youuuu but not youtube and also not uuuu, but u."));
}
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
lrnz22 Java-Basics-Aufgabe Java Basics - Anfänger-Themen 8
M Java Programmierung Aufgabe Anfänger Java Basics - Anfänger-Themen 1
Mikejr Java Berg aufgabe Java Basics - Anfänger-Themen 6
Robert_Klaus Hamster java Simulation Hilfe bei einer Aufgabe Java Basics - Anfänger-Themen 5
TimoN11 Java spezielle Suchprobleme - Aufgabe Java Basics - Anfänger-Themen 5
justemii Gehalt berechnen - Aufgabe Java-Programm Java Basics - Anfänger-Themen 9
M Lösung Aufgabe - Java Programmiren lernen für Dummies Java Basics - Anfänger-Themen 11
A Java-Programmierungs Aufgabe Java Basics - Anfänger-Themen 2
S Unbedingte hilfe bei Java Aufgabe [Schleife / Zinsrechnung] Java Basics - Anfänger-Themen 14
J Hilfe bei Java Aufgabe (Restschuld berechnen) Java Basics - Anfänger-Themen 11
S Hilfe bei Java Aufgabe (Schleifen) Java Basics - Anfänger-Themen 25
J Java Starthilfe Verständnisfrage Aufgabe Java Basics - Anfänger-Themen 2
H java aufgabe Java Basics - Anfänger-Themen 7
H java aufgabe Java Basics - Anfänger-Themen 68
H aufgabe java luhn algorithmus Java Basics - Anfänger-Themen 10
R Java Aufgabe (Teilbarkeit) Java Basics - Anfänger-Themen 7
H java aufgabe Java Basics - Anfänger-Themen 44
H java aufgabe Java Basics - Anfänger-Themen 7
H java string aufgabe Java Basics - Anfänger-Themen 10
H java online aufgabe Java Basics - Anfänger-Themen 4
H JAVA AUFGABE Java Basics - Anfänger-Themen 7
P Problem bei Java-Aufgabe Java Basics - Anfänger-Themen 12
J Bradley Kjell java Aufgabe Java Basics - Anfänger-Themen 3
N Java Aufgabe Java Basics - Anfänger-Themen 3
V Verstehe die Lösung einer Aufgabe von Grunkurs-Java nicht. Java Basics - Anfänger-Themen 11
P Verstehe Lösung einer Aufgabe von "Grundkurs-Java" nicht Java Basics - Anfänger-Themen 5
F Java Aufgabe Java Basics - Anfänger-Themen 8
S Hinweis zu Fehler im Kalender-Code - Aufgabe 5.3 aus Grundkurs Programmieren in Java 7. Auflage Java Basics - Anfänger-Themen 4
B Kreuzprodukt zweier Vektoren (Erste Java Aufgabe - Hilfestellungen und Tips erwünscht) Java Basics - Anfänger-Themen 4
M Java Aufgabe Java Basics - Anfänger-Themen 30
M Kurze Verständnisfrage zu einer Java Aufgabe Java Basics - Anfänger-Themen 12
M Problem bei einer Java-Aufgabe (Fakultäten) Java Basics - Anfänger-Themen 5
M Hilfe bei Java-Aufgabe Java Basics - Anfänger-Themen 15
eXistenZ Java-Boon kommt nicht zurrecht mit der Umsetzung einer Aufgabe... Java Basics - Anfänger-Themen 7
D Problem bei Java - Aufgabe Java Basics - Anfänger-Themen 7
J Java Aufgabe -> String einlesen, splitten,Substring & Java Basics - Anfänger-Themen 3
J kleine java aufgabe: ausgabe von sternchen Java Basics - Anfänger-Themen 20
G Java Aufgabe nicht lösbar Java Basics - Anfänger-Themen 5
J Java-Arraylist Aufgabe Java Basics - Anfänger-Themen 3
M Java-Anfänger Aufgabe Java Basics - Anfänger-Themen 3
G Problem mit Java Aufgabe Java Basics - Anfänger-Themen 14
D Java Aufgabe fürs Studium (bitte um Hilfe) Java Basics - Anfänger-Themen 8
H .java Dateien in Eclipse einbinden und ausführen Java Basics - Anfänger-Themen 1
onlyxlia Schlüsselworte Was meint man mit "einen Typ" in Java erstellen? Java Basics - Anfänger-Themen 2
O Java Kara geschweifte Klammern Java Basics - Anfänger-Themen 2
richis-fragen Mausrad logitech kann links und rechts klick wie in java abragen. Java Basics - Anfänger-Themen 15
XWing Java Klssenproblem Java Basics - Anfänger-Themen 4
R Umgebungsvariable java -cp gibt immer Java-Hilfe... Java Basics - Anfänger-Themen 3
farbenlos Csv Datei in Java einlesen Java Basics - Anfänger-Themen 18
F TableModelListener: java.lang.ArrayIndexOutOfBoundsException: 132 Java Basics - Anfänger-Themen 3
G Java 8 - Support-Ende Java Basics - Anfänger-Themen 7
T Java Weihnachtsbaum + Rahmen Java Basics - Anfänger-Themen 1
N Will mit Java anfangen Java Basics - Anfänger-Themen 13
Ü Java Array - Buchstaben als Zahlen ausgeben Java Basics - Anfänger-Themen 22
M Java Iterator Verständnisfrage Java Basics - Anfänger-Themen 6
M Java Mail Programm Java Basics - Anfänger-Themen 4
Sniper1000 Java 391 für Windows Java Basics - Anfänger-Themen 37
J Java long- in int-Variable umwandeln Java Basics - Anfänger-Themen 6
JaZuDemNo Java im Studium Java Basics - Anfänger-Themen 7
E Java Programm zur anzeige, ob Winter- oder Sommerzeit herrscht Java Basics - Anfänger-Themen 62
I QR code in Java selber generieren Java Basics - Anfänger-Themen 5
V Java-Ausnahmebehandlung: Behandlung geprüfter Ausnahmen Java Basics - Anfänger-Themen 1
krgewb Java Streams Java Basics - Anfänger-Themen 10
A Überwältigt von der komplexen Java Welt Java Basics - Anfänger-Themen 29
O Mehrfachvererbung auf Spezifikations- und Implementierungsebene in Java. Interfaces Java Basics - Anfänger-Themen 19
John_Sace Homogene Realisierung von Generics in Java ? Java Basics - Anfänger-Themen 19
P Meldung aus Java-Klasse in Thread an aufrufende Klasse Java Basics - Anfänger-Themen 1
R mit Java API arbeiten Java Basics - Anfänger-Themen 9
P JDK installieren Probleme bei der Java-Installation Java Basics - Anfänger-Themen 8
S Java: Wie sortiere ich eine ArrayList benutzerdefinierter Objekte nach einem bestimmten Attribut? Java Basics - Anfänger-Themen 2
Timo12345 JNLP File mit Java öffnen Java Basics - Anfänger-Themen 2
S Video Editierung mit Java.._ Java Basics - Anfänger-Themen 2
F Einstelungen in Java - CursorBlinkRate Java Basics - Anfänger-Themen 10
A PHP $_POST["name"] in Java Java Basics - Anfänger-Themen 3
vivansai21 Is there a oneliner to create a SortedSet filled with one or multiple elements in Java? Java Basics - Anfänger-Themen 9
Athro-Hiro Weißes Bild in Java erstellen Java Basics - Anfänger-Themen 3
Arjunreddy Can someone please tell me how to use a debugger in BlueJ(a Java environment) Java Basics - Anfänger-Themen 1
M Java assoziationen (UML) Java Basics - Anfänger-Themen 8
H Excel-Tabellen mit Java erstellen Java Basics - Anfänger-Themen 4
Simon16 Java ArrayListe von einer Klasse sortieren Java Basics - Anfänger-Themen 2
P Wie kann ich in meinem Java Programm etwas dauerhaft speichern? Java Basics - Anfänger-Themen 5
H Nutzt Eclipse alle CPU-Threads beim Ausführen von Java-Programmen? Java Basics - Anfänger-Themen 4
xXGrowGuruXx Java einstieg, leichte sache 0 verstanden Java Basics - Anfänger-Themen 7
A java.sql.SQLException: Data type mismatch. Java Basics - Anfänger-Themen 1
H Java-Programm zur Ausgabe von Zuständen Java Basics - Anfänger-Themen 80
N Java Spiel Figur auf dem Hintergrundbild bewegen. Java Basics - Anfänger-Themen 11
G Kann Java-Programm nicht als jar aufrufen, auch als EXE nicht Java Basics - Anfänger-Themen 19
N Java Taschenrechner hat Jemand vlt einen Tipp dafür wie ich jetzt die buttons verbinden kann und das Ergebnis auf dem textfield anzeigen lassen kann Java Basics - Anfänger-Themen 13
A Lerngruppe Java Java Basics - Anfänger-Themen 2
G Help me in the Java Program Java Basics - Anfänger-Themen 2
L Java- Vererbung Java Basics - Anfänger-Themen 4
LimDul Suche Java Stream Tutorial Java Basics - Anfänger-Themen 2
_so_far_away_ Ich möchte Java lernen Java Basics - Anfänger-Themen 11
benny1993 Java Programm erstellen für ein Fußball-Turnier Java Basics - Anfänger-Themen 3
M Datentypen While-Schleife eine Java Methode erstellen Java Basics - Anfänger-Themen 3
V Bild per Java Script austauschen Java Basics - Anfänger-Themen 7
MoxMorris this Keyword in Java Java Basics - Anfänger-Themen 14
D Wie kann man in Java nach Arrays auf Duplikate prüfen Java Basics - Anfänger-Themen 12
wolei JAVA Zeitdifferenz feststellen. Java Basics - Anfänger-Themen 4
DiyarcanZeren Rekursion in Java Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben