java string aufgabe

H

Heyoka955

Gast
11609





11610


ich kmme nicht mehr weiter, kann mir einer helfen bei der aufgabe ?

Given a number, return a string with dash'-'marks before and after each odd integer, but do not begin or end the string with a dash mark
 

Robat

Top Contributor
Das nächste mal Code bitte nicht als Bilder posten.

Zu deinem Problem:
Du setzt momentan immer 2 Bindestriche - 1 vor der Zahl und einen danach. Das Problem ist, dass dadurch solche Konstrukte entstehen können:
5-3--1-1, weil du sowohl vor/nach der 3 einen Bindestrich setzt als auch vor/nach der 1.
Überdenk' deinen Algorithmus noch mal .. es gibt verschiedene Wege deinen Code abzuändern.
 
H

Heyoka955

Gast
Das nächste mal Code bitte nicht als Bilder posten.

Zu deinem Problem:
Du setzt momentan immer 2 Bindestriche - 1 vor der Zahl und einen danach. Das Problem ist, dass dadurch solche Konstrukte entstehen können:
5-3--1-1, weil du sowohl vor/nach der 3 einen Bindestrich setzt als auch vor/nach der 1.
Überdenk' deinen Algorithmus noch mal .. es gibt verschiedene Wege deinen Code abzuändern.
Ich weiß aber ich komme nicht mehr weiter. Ich glaube ich muss an der if Bedingung was äbändern.
 

Robat

Top Contributor
Du könntest den "vorderen Strich" auch variabel gestallten. Wenn du im aktuellen Durchlauf vorne und hinten einen Strich schreibst, darfst du beim nächsten Durchlauf maximal hinten einen Strich schreiben (oder keinen, falls die Zahl gerade ist).
Wenn du im aktuellen Durchlauf nur eine Zahl geschrieben hast, darf im nächsten Durchlauf sowohl vorne, als auch hinten ein Strich folgen.
 
H

Heyoka955

Gast
Du könntest den "vorderen Strich" auch variabel gestallten. Wenn du im aktuellen Durchlauf vorne und hinten einen Strich schreibst, darfst du beim nächsten Durchlauf maximal hinten einen Strich schreiben (oder keinen, falls die Zahl gerade ist).
Wenn du im aktuellen Durchlauf nur eine Zahl geschrieben hast, darf im nächsten Durchlauf sowohl vorne, als auch hinten ein Strich folgen.
Wie meinst du variabel gestalten?
 
H

Heyoka955

Gast
Du könntest den "vorderen Strich" auch variabel gestallten. Wenn du im aktuellen Durchlauf vorne und hinten einen Strich schreibst, darfst du beim nächsten Durchlauf maximal hinten einen Strich schreiben (oder keinen, falls die Zahl gerade ist).
Wenn du im aktuellen Durchlauf nur eine Zahl geschrieben hast, darf im nächsten Durchlauf sowohl vorne, als auch hinten ein Strich folgen.
Die Aufgabe will dass ich bei ungeraden Zahlen den Strich mache
 

httpdigest

Top Contributor
Wenn du den String als Liste (bzw. Stream/Strom) von Zeichen ansiehst, und jedes dieser Zeichen auf einen String "abbilden"/mappen willst, der entweder das Zeichen allein ist oder ein "-" + zeichen + "-", abhängig davon, ob du am Anfang/Ende des Strings bist oder das Zeichen eine gerade/ungerade Zahl darstellt, wird die Lösung recht elegant:
Java:
public static String dashitize(int number) {
  String s = String.valueOf(number);
  return java.util.stream.IntStream
    .range(0, s.length())
    .mapToObj(i -> new Object() {
        boolean edge = i == 0 || i == s.length() - 1;
        int v = s.charAt(i) - '0';
        boolean even = v % 2 == 0;
    })
    .map(o -> o.even || o.edge
            ? String.valueOf(o.v)
            : "-" + o.v + "-")
    .collect(java.util.stream.Collectors.joining());
}
 

Robat

Top Contributor
@httpdigest Dann hast du das selbe Problem wie bei seinem jetzigen Code. Sobald 2 ungerade Zahlen hintereinander stehen, und nicht am Anfang/Ende der Zahl sind, hast du 2 Bindestriche nebeneinander.
Java:
public static String dashitize2(int num) {
    String str = String.valueOf(num);
    String preDash = "-";
    String result = "";

    for(int i = 1; i < str.length() - 1; i++) {
        int x = str.charAt(i) - '0';
        if(x % 2 != 0) {
            result += preDash + x + "-";
            preDash = "";
          } else {
            result += x;
            preDash = "-";
          }
    }
      
    char first = str.charAt(0);
    char last = str.charAt(str.length()-1);
    return first + result + last;
  }

Edit:
Geht natürlich auch mit Streams ;)
Java:
public  static String dashitize(int num) {
    String s = String.valueOf(num);
    return java.util.stream.IntStream
        .range(0, s.length())
        .mapToObj(i -> new Object() {
            boolean edge = i == 0 || i == s.length() - 1;
            int v = s.charAt(i) - '0';
            boolean prefDash = i > 1 && (s.charAt(i-1) - '0') % 2 != 0;
            boolean even = v % 2 == 0;
        })
        .map(o -> o.even || o.edge
            ? String.valueOf(o.v)
            : (o.prefDash ? "" : "-" )+ o.v + "-")
        .collect(java.util.stream.Collectors.joining());
  }
 
Zuletzt bearbeitet:

httpdigest

Top Contributor
Oh, das hatte ich komplett übersehen. Geht aber aus der Aufgabenstellung nicht 100%ig hervor. Wenn da steht, dass vor und nach einer ungeraden Zahl (außer vor der ersten und nach der letzten) Bindestriche stehen soll, dann ist das mit den doppelten Strichen ja immer noch technisch richtig. :)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Java Aufgabe -> String einlesen, splitten,Substring & Java Basics - Anfänger-Themen 3
J Java To String Methode, Array mit For-Schleife Java Basics - Anfänger-Themen 2
HolyFUT JSON String in Java Object schreiben - Anführungszeichen rauskriegen? Java Basics - Anfänger-Themen 17
viktor1 Methoden Methode schreiben static void readText (String filename) {...} zu WordHistogramSample.java Java Basics - Anfänger-Themen 13
I String Expression mit Java validieren (true / false) Java Basics - Anfänger-Themen 34
I Java String einlesen und auslesen Java Basics - Anfänger-Themen 11
AlexVo String zu Java Anweisung getString("*** java code ***") Java Basics - Anfänger-Themen 19
F Java Programm, das kleine Buchstaben in einem String zählen soll und bei großen Buchstaben oder Sonderzeichen abbrechen soll. Java Basics - Anfänger-Themen 5
Z Methode zum Heraufinden von Anagrammen ohne Java API, Ausnahme String Java Basics - Anfänger-Themen 14
C Java String Methode Java Basics - Anfänger-Themen 6
S Java String[]args Übergabeparameter Java Basics - Anfänger-Themen 2
B Collections Java Wörter in String zählen und geordnet ausgeben Java Basics - Anfänger-Themen 10
M JAVA String schnell parsen Java Basics - Anfänger-Themen 14
F Methoden Java String aufteilen Java Basics - Anfänger-Themen 17
E Datentypen C# String zu Java String konvertieren Java Basics - Anfänger-Themen 3
L Java CMD Console in String umwandeln? Java Basics - Anfänger-Themen 2
D Java doppelte Zahlen auch über 10 in einem String entfernen Java Basics - Anfänger-Themen 2
L Java String to date? Java Basics - Anfänger-Themen 2
D Java doppelte Zahl/Zeichen in einem String entfernen Java Basics - Anfänger-Themen 6
W Methoden Rückgabedatentyp java.util.Map<java.lang.String,? extends ...> Java Basics - Anfänger-Themen 4
R Input/Output Java String abfragen Java Basics - Anfänger-Themen 3
J Klassen java.lang.String - lexikographisches Sortieren Java Basics - Anfänger-Themen 5
B Erste Schritte Java IDE schreibt "(String[] args)" Java Basics - Anfänger-Themen 5
M Compiler-Fehler Fehler Meldung java.lang.NumberFormatException: empty String Java Basics - Anfänger-Themen 2
S String index out of range: 8 at java.lang.String.substring(Unknown Source) Java Basics - Anfänger-Themen 13
Spin Java parse String to int Java Basics - Anfänger-Themen 2
M Java String " einfügen Problem Java Basics - Anfänger-Themen 2
Y Java Programm URL und String Vergleich! Java Basics - Anfänger-Themen 4
S expected java.lang.string but found char Java Basics - Anfänger-Themen 5
M Datentypen java.util.Arrays$ArrayList cannot be cast to [Ljava.lang.String; Java Basics - Anfänger-Themen 11
U Automatenprüfung in Java implementieren — String Vergleich klappt nicht Java Basics - Anfänger-Themen 40
J java.util.format => mit String? Java Basics - Anfänger-Themen 2
E JAVA Typ Short mit String ergänzen Java Basics - Anfänger-Themen 6
I java.lang.String cannot be cast to OBJEKT Java Basics - Anfänger-Themen 8
Developer_X Java String Spielereien Java Basics - Anfänger-Themen 18
K Fehler Meldung java.lang.NumberFormatException: empty String Java Basics - Anfänger-Themen 1
K Java String UNICODE in DB UTF-8 Feld einfügen Java Basics - Anfänger-Themen 3
T [SOLVED] Java String equals funktioniert nicht Java Basics - Anfänger-Themen 5
A Anfängerfrage - array required, but java.lang.String found Java Basics - Anfänger-Themen 7
B Java-Frame Taschenrechner - String -> Int und umgekehrt Java Basics - Anfänger-Themen 8
G string trennen in java 1.3 Java Basics - Anfänger-Themen 7
S java.io.* BufferedReader to String Java Basics - Anfänger-Themen 12
G String in java.sql.Date umwandeln Java Basics - Anfänger-Themen 4
S String für das java jre home verzeichnis Java Basics - Anfänger-Themen 3
K Prob mit java.util.regex.matches-String wird nicht erkannt? Java Basics - Anfänger-Themen 9
S java.lang.String Fehler bei DB Abfrage Java Basics - Anfänger-Themen 4
W HTML in Java als String Java Basics - Anfänger-Themen 6
R Java 5.0 / String.format - Warning Java Basics - Anfänger-Themen 8
M.C.S. String parsen in Java Java Basics - Anfänger-Themen 5
Z Fehlermeldung: Exception. java.lang.String Java Basics - Anfänger-Themen 7
T Substrings in Strings ersetzen ohne java.lang.String Java Basics - Anfänger-Themen 8
M JTable getValueAt -- CastClassException : java.lang.String Java Basics - Anfänger-Themen 5
M String als Java-Code ausführen Java Basics - Anfänger-Themen 4
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

Ähnliche Java Themen

Neue Themen


Oben