Operationen mit Zeichenketten

Status
Nicht offen für weitere Antworten.
F

Felydae84

Gast
Ich habe hier zwei Aufgaben vor mir da soll ich


- eine Zeichenkette einlesen und den Inhalt in umgekehrter Reihenfolge wieder ausgeben


und


- eine Zeichenkette einlesen und die Häufigkeit der Buchstaben ausgeben


Wenn mir einer Tips geben könnte, wie ich das "einfach" (!) ausdrücke, wäre ich sehr dankbar...


Lfg,


Felydae :D
 

Evil-Devil

Top Contributor
Das ist eigentlich ganz simpel. Zunächst liest du den String ein und danach packst du jeden Buchstaben des Strings in ein Array. Das Array muss dabei natürlich der Länge des Strings entsprechen. Nun einfach mit einer Schleife über das array loopen. Dabei halt am ende des Arrays mit dem Auslesen beginnen und zum anfang vorarbeiten.

Und das zählen der Buchstaben ist auch einfach getan. Hierzu nimmst du am besten eine HashMap. Schreibst den ersten Buchstaben in diese rein und setz dessen Wert auf eins. Im nächsten Durchgang während der Rückwärts-Ausgabe schaust du nach ob der nun aktuelle BUchstabe in der HashMap bereits vorhanden ist. Falls ja, dann erhöhe den Wert des Buchstabens in der Map, andernfalls füg den neuen Buchstaben zur Map hinzu und setz seinen Wert auf 1. Dies wiederholt sich solange bis das ganze Array durchlaufen ist. Abschließen brauchst du nur noch über die HashMap loopen und deren Inhalt ausgeben.

Hoffe das hilft dir.
 
F

Felydae84

Gast
Leider nein, denn ich bin blutiger Anfänger :D


Wenn man mir die Methode mal schreiben könnte? Und so das ich es gut nachvollziehen kann? ;)
 

Evil-Devil

Top Contributor
Felydae84 hat gesagt.:
Leider nein, denn ich bin blutiger Anfänger :D


Wenn man mir die Methode mal schreiben könnte? Und so das ich es gut nachvollziehen kann? ;)
Hausaufgaben Hilfe sollte man nicht betreiben ;)

das mit dem rückwärts auslesen kann ich mal niederschreiben...

Code:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class StringEingabe {
    public static void main(String[] args) {
        String eingabe = null;      // unser string der eingegeben wird
        char[] zeichen = null;      // die zeichen des strings
        try {
            // String einlesen
            eingabe = new BufferedReader(
                        new InputStreamReader(System.in)).readLine();
        } catch (IOException e) {
            e.printStackTrace();
        }
        
        // String verarbeiten
        if (eingabe != null) {
            // array erzeugen
            zeichen = eingabe.toCharArray();
            
            StringBuffer sb = new StringBuffer();
            // über die zeichen loopen und neu zusammensetzen
            for (int i=zeichen.length-1; i>=0; i--) {
                sb.append(zeichen[i]);                
            }
            // ausgeben
            System.out.println(sb.toString());
        }
    }
}

Der Rest ist auch nicht mehr so schwer ;)
 

Felydae

Mitglied
Viel zu kompliziert geschrieben... Das geht in einer zeile!!

StringBuffer b = new StringBuffer();

b.reverse();

System.out.println(b);
 
S

SlaterB

Gast
das sind schon drei Zeilen und da ist der String noch nicht mal im Buffer drin ;)
 

dieta

Top Contributor
Hehe... und nun wirklich in einer Zeile:

Code:
System.out.println(new StringBuffer(new BufferedReader(new InputStreamReader(System.in)).readLine()).reverse().toString());
 

Evil-Devil

Top Contributor
Oh, gibt doch eine "reverse" Funktion.
Ob nun kompliziert oder nicht ist egal, er muss schließlich auch die Logik dahinter verstehen ;)

@eine Zeile: dann nutzt weningstens die Scanner Klasse aus Java5, dann spart man sich die beiden Reader.
 

Leroy42

Top Contributor
... und wenn wir schon mal dabei sind: Das toString() im System.out.println kannst du dir auch schenken :wink:
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
H Frage zu arithmetischen Operationen Java Basics - Anfänger-Themen 20
J Listen Operationen Java Basics - Anfänger-Themen 4
D Algorithmus in Pseudocode mit log2(n) Operationen erstellen Java Basics - Anfänger-Themen 3
Hacer Operationen einfach verketteter Listen Java Basics - Anfänger-Themen 22
S Warum muss ich die operationen mit AffineTransform in umgekehrter Reihenfolge ausfuehren..? Java Basics - Anfänger-Themen 4
B Matrizen Operationen Java Basics - Anfänger-Themen 7
S NaN - Operationen ohne Fehler? Java Basics - Anfänger-Themen 3
B AffineTransform - Reihenfolge der Operationen Java Basics - Anfänger-Themen 3
G Messen von Elementaren Operationen Java Basics - Anfänger-Themen 3
S Liste von möglichen Operationen Java Basics - Anfänger-Themen 2
B genaue Anzahl der Operationen in Schleifen Java Basics - Anfänger-Themen 5
C Operationen auf Bitebene und Verschiebeoperatoren wichtig? Java Basics - Anfänger-Themen 26
Haave Postfix-Rechner: mehrere math. Operationen nacheinander ausführen Java Basics - Anfänger-Themen 8
M Bit/Byte Operationen Java Java Basics - Anfänger-Themen 8
B math. Operationen + Ausgabe Fehler :S Java Basics - Anfänger-Themen 5
K println - Klammern von Operationen Java Basics - Anfänger-Themen 4
O Operationen auf ein Set Java Basics - Anfänger-Themen 3
Q mathematische Operationen als Methode und nicht Infix-Operator Java Basics - Anfänger-Themen 14
X Zählen von arithmetischen Operationen und Vergleichsoperationen Java Basics - Anfänger-Themen 7
R Kommandozeile Operationen Java Basics - Anfänger-Themen 3
G Strings Operationen Java Basics - Anfänger-Themen 7
G String-Operationen Java Basics - Anfänger-Themen 6
ven000m Aritmethische Operationen Java Basics - Anfänger-Themen 7
S Stack-Operationen Java Basics - Anfänger-Themen 59
J Innerhalb von Zeichenketten tauschen Java Basics - Anfänger-Themen 1
G Reguläre Ausdrücke Zeichenketten Java Basics - Anfänger-Themen 12
H Zeichenketten einlesen und dann in Array speichern Java Basics - Anfänger-Themen 6
L zeichenketten Java Basics - Anfänger-Themen 5
S im StringBuilder Zeichenketten ersetzen Java Basics - Anfänger-Themen 6
U Zeichenketten Java Basics - Anfänger-Themen 10
S Zeichenketten teilen Java Basics - Anfänger-Themen 13
E BlueJ und Zeichenketten. S83 Übung 2.72 Java Basics - Anfänger-Themen 3
X Suche nach Zeichenketten Java Basics - Anfänger-Themen 9
S Zeichenketten Java Basics - Anfänger-Themen 10
H Verarbeitung von Zeichenketten Java Basics - Anfänger-Themen 8
D Zeichenketten durchsuchen Java Basics - Anfänger-Themen 9
G Nachfrage zu Zeichenketten Java Basics - Anfänger-Themen 9
G Mehreren Textfeldern Zeichenketten zuweisen Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben