Erste Schritte zwei Buchstaben die im String enthalten sind ausgeben

Müllermilch

Mitglied
hallo

ich hab folgende aufgabe bekommen:

undzwar muss ich zwei strings erstellen undzwar String s und String p.

String s soll ein wort enthalten z.b. HALLO,

String p 2 Buchstaben z.b. LL.

nun muss ich zwei schleifen bilden und dann ausgeben ob im wort "HALLO" die zwei LL vorkommen (System.out.print("die buchstaben kommen im wort vor)
oder (System.out.print("die buchstaben kommen nicht vor")
nicht entahlten sind.

nicht mehr und nicht weniger.

ich bin auf diesem gebiet leider blutiger anfänger und hoffe auf eure hilfe.

mfg
 

Müllermilch

Mitglied
hab schon was entworfen gehabt nur liegt das leider auf einem anderen pc.

auf jeden fall wird eine if abfrage benötigt um herauszufinden das die zwei buchstaben enthalten sind nur bei mir scheiterts schon an den schleife

EDIT: werde mich nochmal drann setzen und dann das posten was ich zusammengeschustert habe
 
Zuletzt bearbeitet:

njans

Top Contributor
Eine Frage hätte ich da noch:
- Wie genau müssen denn die Buchstaben vorhanden sein?
Muss "LL" dann direkt in dieser Reihenfolge vorhanden sein? Oder müssen in dem Wort nur 2 "L"s sein?
 

njans

Top Contributor
Also ich nehme mal an, dass ist sowas wie ne Schulaufgabe (o.ä.). Daher sollte man vorher klar stellen, was man denn da benutzen darf. Soll es explizit mit Schleifen realisiert werden oder darf man da auch übliche Methoden verwenden, die String anbietet?
Ansonsten schreibe einfach mal ein bisschen Code, der deiner Meinung nach das Problem lösen können soll :)
 

Müllermilch

Mitglied
also habe mal bisschen was zusammengeschrieben was ich verwenden darf:
:)
Java:
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package javaapplication1;

import java.io.BufferedReader;
import java.io.InputStreamReader;


public class JavaApplication1 {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        
        try {
            
        BufferedReader in = new BufferedReader(new InputStreamReader( System.in ) );
        
        System.out.println("Geben Sie ein Wort ein!");
        String wort = in.readLine();
        System.out.println("Geben Sie zwei Buchstaben ein");
        String buchstaben = in.readLine();
        
        for (int       
            for (int 
                
                if ()
                    
                {
                    System.out.println("Die Buchstaben sind im Wort enthalten");
                }
        
                else 
                {
                    System.out.println("Die Buchstaben sind im Wort nicht enthalten");                    
                }    
                   
        }catch (Exception ex){
    }
    }
}
 

njans

Top Contributor
Ich galube da ist was beim Kopieren kaputt gegangen, da fehlt ja bei den For-Schleifen der Kopf und die if-Bedingung ist leer.
 

Müllermilch

Mitglied
da stand auch beim kopieren nichts drinnen ^^

hab ehrlich gesagt garkein plan mehr von dem ganzen muss das alles aber bis morgen fertig haben.
ich versuchs aber weiter, mal sehn was draus wird.
 

dehlen

Bekanntes Mitglied
Also sowas wie :
Java:
//Auslesen mit BufferedReader
....
Pseudocode:

Falls(wort contains Buchstaben) //am besten noch die Methode to UpperCase hier benutzen damit auch LL und nicht nur ll in Hallo gefunden wird
Ausgabe (enthält die Buchstaben)
    }
    sonst Ausgabe(enthält die Buchstaben nicht);
}

EDIT:
zu spät gesehen sry -.-
Nun ja mit Schleifen ist es doch das selbe Prinzip, versuch doch mal die Logik in den for Schleifen und der if Abfrage zu implementieren und wenn es hapert dann helfen wir dir.
 

Müllermilch

Mitglied
meine denkweise wäre so:

char von string w mit char von string b vergleichen wenn char b in w vorkommen ausgabe von "kommt vor" ansonsten ausgabe "kommt nicht vor"

gehts in die richtige richtung oder völlig falsch?
 

njans

Top Contributor
Joar so passt das.
Du musst insgesamt eigentlich nur einmal durch das Wort durchlaufen und schauen, ob du den ersten Buchstaben der Buchstabenfolge findest. Wenn es den gibt, dann musst du nur schauen, ob die Folgebuchstaben passen, wenn nicht, dann musst du weiter gehen. Wenn du den ersten Buchstaben gar nicht findest, dann ist das auch nicht enthalten :)
 

bERt0r

Top Contributor
Dann musst du erstmal aus den Strings ein char-Array machen. Zum Glück gibts da die Funktion toCharArray() von String.
Am besten noch eine Merkvariable "gefunden" erstellen und mit false initialisieren.
Dann läufst du in einer for schleife über das char Array deines Wortes, schaust ob der aktuelle Buchstabe gleich dem ersten der 2 gesuchten ist.
Ist das der Fall, und es kommt noch ein Buchstabe nach dem aktuellen, überprüf ob der nächste Buchstabe gleich dem 2. gesuchten ist.
Sind diese 2 Buchstaben auch gleich, setzte gefunden auf true.
Wenn du mit der Schleife fertig bist, überprüfe ob gefunden true ist, je nachdem gibst du dann was aus.
 

njans

Top Contributor
Noch mal zur For-Schleifen Syntax:
Code:
for (Variablendeklaration und Initialisierung ; Bedingung, solange diese TRUE ergibt, wird die Schleife durchlaufen ; Iteration )
Und auch mal ein Beispiel:
Java:
for (int laufVariable = 0 ; laufVariable < 10 ; laufVariable++ )
 

Müllermilch

Mitglied
habe mal bisschen rummprobiert, das mit den tochararray was bertor meinte haben wir bisher noch nicht durchgenommen sprich kann auch nicht verwendet werden.

das ist dabei herausgekommen:

Java:
 for (int i = 0; i < wort.length(); i++) {
                for (int j = 0; j < buchstaben.length(); j++) {

                    if (wort.charAt(i) == buchstaben.charAt(j)) {


                        System.out.println("Die buchstaben kommen vor");

meine fragen hierzu:

wird alles richtig ausgeführt wenn ich als buchstaben z.b. ll eingebe kommt Die buchstaben kommen vor raus. sowei so gut, nur wieso wird der text 4 mal angezeigt?

was mir noch fehlt ist der fall wenn die buchstaben nicht vorkommen, setzt man da einfach ein else?

danke schonmal für eure tatkräftige hilfen :)
 

0x7F800000

Top Contributor
Java:
 for (int i = 0; i < wort.length(); i++) {
                for (int j = 0; j < buchstaben.length(); j++) {

                    if (wort.charAt(i) == buchstaben.charAt(j)) {


                        System.out.println("Die buchstaben kommen vor");
wieso wird der text 4 mal angezeigt?
Bzzt, falsch. Überleg doch mal. Bei "hallo" und "ll" trifft die bedingung bei (i,j) = (2,0), (2,1), (3,0) und (3,1) zu. Das ist offenbar nicht sinn der sache.
 

njans

Top Contributor
Java:
for (int i = 0; i < wort.length(); i++) 
{
  for (int j = 0; j < buchstaben.length(); j++) 
  {
     if (wort.charAt(i) == buchstaben.charAt(j)) 
     {
       System.out.println("Die buchstaben kommen vor");

wird alles richtig ausgeführt wenn ich als buchstaben z.b. ll eingebe kommt Die buchstaben kommen vor raus. sowei so gut, nur wieso wird der text 4 mal angezeigt?
So wie es da steht schaust du bei jedem Buchstaben in deinem Wort nach, ob er einer der ausgewählten Buchstaben ist. Du schaust jedoch nicht, ob die Buchstaben in der Reihenfolge vorkommen.

was mir noch fehlt ist der fall wenn die buchstaben nicht vorkommen, setzt man da einfach ein else?
Nunja, besser wäre es, wenn du da einen boolean hättest, den du genau dann auf wahr setzt, wenn du feststellst, dass der letzte Buchstabe, der ausgewählten Buchstaben, vorhanden ist (du musst natürlich alle anderen vorher auch prüfen). Dann kannst du den Boolean ausgeben und hast ein Ergebnis :)

Wenn dus bis heute brauchst, dann ist das hier eine mögliche Lösung. Ich würde die allerdings nur verwenden, wenn du nicht weiter kommst.
Außerdem mag die an einigen Stellen etwas zu kompliziert sein, hab die eben mal zusammengebastelt, also ohne Gewähr.
Java:
String wort = "ababbcabccad";
String buchstaben = "abc";

boolean enthaeltBuchstaben= false;

// Iteriere über jeden Buchstaben in dem Wort
for (int buchstabeImWort = 0; buchstabeImWort < wort.length(); buchstabeImWort++) 
{
	// Wenn dieser dem ersten buchstaben gleich ist, so prüfe alle Folgenden.
	for (int gesuchterBuchstabe = 0; gesuchterBuchstabe < buchstaben.length(); gesuchterBuchstabe++) 
	{
		// Wenn der Index (charAt) über die Länge des Wortes hinausragt, springe aus der For-Schleife
		// Außerdem springe aus der Schleife, wenn ein Buchstabe auftritt, der nicht in "buchstaben" ist.
		if ((buchstabeImWort + gesuchterBuchstabe >= wort.length()) ||
			(wort.charAt(buchstabeImWort + gesuchterBuchstabe) != buchstaben.charAt(gesuchterBuchstabe)))
		{
			break;
		}
		// Ansonsten wird nichts gemacht, außer wenn die Buchstaben in der Reihenfolge in dem Wort vorhanden sind.
		// Dann prüfe, ob das auch für den letzten Buchstaben gilt. Wenn auch dieser vorhanden ist, dann sind alle 
		// Buchstaben in dem Wort in Reihenfolge vorhanden
		else if (gesuchterBuchstabe == buchstaben.length()-1)
		{
			enthaeltBuchstaben = true;
		}
	}
}
// Bedingte Zuweisung:
System.out.println((enthaeltBuchstaben)?"Buchstaben sind enthalten":"Buchstaben sind nicht enthalten" );

// Ist nichts anderes als
if (enthaeltBuchstaben)
{
	System.out.println("Buchstaben sind enthalten");
}
else
{
	System.out.println("Buchstaben sind nicht enthalten");
}
 
Zuletzt bearbeitet:

Müllermilch

Mitglied
vielen dank erstmal hierfür hat mir sehr weiter geholfen :)

das ist sozusagen das finale ergebnis. leider fehlt jetzt noch eine kleinigkeit bei der ich hilfe brauche:

ich muss die buchstaben mit den buchstaben1 tauschen,
das heist wenn das wort "hallo" ist und "buchstaben" ll, und buchstaben1 xx ist soll am ende dann haxxo ausgegeben werden, sozusagen das ll durch xx ersetzt wird.

hoffe mir kann jemand weiter helfen.

hier erstmal das was ich bisher gemacht habe:

Java:
package JavaApplication1;

import java.io.BufferedReader;

import java.io.InputStreamReader;


public class JavaApplication1 {

    /** 
    
     * @param args the command line arguments 
    
     */
    public static void main(String[] args) {

        try {
            BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
            // zähler 

            int z = 0;

            //eingabe des wortes 

            System.out.println("Bitte geben Sie einen Text ein:");

            String wort = (input.readLine());

            System.out.println();

            //eingabe der zwei buchstaben 

            System.out.println("Bitte geben Sie drei Buchstaben ein:");

            String buchstaben = (input.readLine());
            
            //eingabe der buchstaben die mit "buchstaben" ausgetauscht werden sollen
            
            System.out.println("Bitte geben Sie einen belieben Text ein:");

            String buchstaben1 = (input.readLine());

            System.out.println();

            for (int b = 0; b < wort.length() - buchstaben.length() + 1; b++) {

                for (int g = 0; g < buchstaben.length(); g++) {
                    /*wenn x und y länger sind als wortlänge dann stop oder wenn buchstaben 
                    
                    ungleich im wort(im wort nicht vorkommen) */
                    if (wort.charAt(b + g) != buchstaben.charAt(g)) {

                        break;

                    } //wenn buchstaben im wort vorkommen prüfen ob letzter buchstabe auch vorkommt 
                    // zähler z springt dann auf 1 
                    else if (g == buchstaben.length() - 1) {

                        z++;
                    }
                }
            }
            // wenn zähler auf 1 steht ausgabe von enthalten 
            if (z >= 1) {

                System.out.println(buchstaben1 + " ->Bedingung ist korrekt");

                System.out.println();

            } // wenn zähler auf 0 dann ausgabe nicht enthalten 
            else {

                System.out.println("Die Buchstaben sind nicht im Text enthalten");
            }
        } catch (Exception e) {
        }

    }
}

Vielen Dank schonmal für eure Hilfe :)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Q Besitzen zwei Strings identische Buchstaben, nur in anderer Reihenfolge? Java Basics - Anfänger-Themen 10
Torschti Eingabe von Dezimalzahlen (bis zu zwei Kommastellen) Java Basics - Anfänger-Themen 11
A 1 Leerzeichen durch zwei Leerzeichen ersetzen Java Basics - Anfänger-Themen 4
K Warum wird mir hier nach dem ersten Durchlauf zwei mal "welchen Datentyp wollen sie übergeben?" ausgegeben ? Java Basics - Anfänger-Themen 1
sasnitzer java augensumme von zwei würfeln ist 1 Java Basics - Anfänger-Themen 8
krgewb Double mit zwei Nachkommastellen Java Basics - Anfänger-Themen 2
Distanz zwischen zwei Zeichenfolgen in einem String bestimmen Java Basics - Anfänger-Themen 5
D Größtes Palindrom Produkt aus zwei dreistelligen Zahlen Java Basics - Anfänger-Themen 60
berserkerdq2 Habe zwei exceptions, welche ist ein Kommunikationsfehler und welche ein Ausgabefehler? Java Basics - Anfänger-Themen 4
berserkerdq2 Zwei Klassen Erben von der Klasse A, die eine Klasse kann ich an Methoden übergeben, die als Parameter A haben, die andere nicht? Java Basics - Anfänger-Themen 3
B Erste Schritte Bisektion mit zwei Funktionen? Java Basics - Anfänger-Themen 1
G zwei Instanzen einer Klasse Java Basics - Anfänger-Themen 29
A Java-XSSFBook: zwei Sheets mergen Java Basics - Anfänger-Themen 5
C Zwei Arrays addieren und ausgeben Java Basics - Anfänger-Themen 3
J Speichern von zwei Variablen durch Auslesen aus einem Numberfield Java Basics - Anfänger-Themen 2
D Zwei verschiedene Intellij Projekte, wie benutze ich wechselseitig objekte Java Basics - Anfänger-Themen 8
berserkerdq2 Wie würde man einen regulären Ausdruck in Java schreiben, der prüft, dass zwei bestimtme Zahlen nicht nebeneinadner sind? Java Basics - Anfänger-Themen 3
K mit <<1 kann man mal 2 machen, mit >>2 geteilt durch zwei und was bewirkt <<<1 und >>>1? Java Basics - Anfänger-Themen 5
Dorfschmied Kartesisches Produkt von zwei Liste mit Hashmaps<String,String> erstellen Java Basics - Anfänger-Themen 4
F Abstand zwischen zwei Objekten berechnen wie? Java Basics - Anfänger-Themen 1
M Wie kann ich ein Array in zwei Hälften aufteilen? Java Basics - Anfänger-Themen 12
S Längster Pfad zwischen zwei Vertices in einem Graph Java Basics - Anfänger-Themen 3
S Aktuell beste Methode um zwei Bilder zu vergleichen..? Java Basics - Anfänger-Themen 1
A Zwei XML-Dateien Mergen Java Basics - Anfänger-Themen 14
U Erste Schritte nextGaussian zwischen zwei Werten Java Basics - Anfänger-Themen 19
S Multiplikation von zwei Labels Java Basics - Anfänger-Themen 7
U zwei 2D arrays auf gleich sein überprüfen Java Basics - Anfänger-Themen 14
Bademeister007 Elemente aus zwei verschiedenen Arrays miteinander vergleichen und gegeben falls entfernen Java Basics - Anfänger-Themen 14
Düsseldorf2002 Datentypen Zwei dimensionale LinkedList Java Basics - Anfänger-Themen 8
S Objekte von zwei klassen in zwei verschiedene Textdateien schreiben Java Basics - Anfänger-Themen 5
J Zwei Objekte vergleichen Java Basics - Anfänger-Themen 8
X Zwei Dimensionales Array prüfen Java Basics - Anfänger-Themen 1
G Methoden Informationen aus zwei Objekte bekommen? Java Basics - Anfänger-Themen 6
E Wie gebe ich alle Daten zwischen zwei Zeitpunkten aus? Java Basics - Anfänger-Themen 2
pkm Regexproblem - Wie kann ich zwei oder mehr beliebige Zeichen matchen? Java Basics - Anfänger-Themen 7
A Wieso bekomme ich hier zwei unterschiedliche Ausgaben? Java Basics - Anfänger-Themen 6
H Ein gegebenes Int Array zu Zwei Arrays zurück geben Java Basics - Anfänger-Themen 6
J zwei String Arrays miteinander vergleichen Java Basics - Anfänger-Themen 18
R Methode zwei Sortierkriterien der Klasse Comparator übergeben Java Basics - Anfänger-Themen 4
B Collections.sort mit zwei Bedingungen? Java Basics - Anfänger-Themen 4
X Textdatei: zwei-zeilenweise gleiche Zeilen rausschmeißen Java Basics - Anfänger-Themen 21
M Konkatenation von zwei Strings Java Basics - Anfänger-Themen 6
J Problem beim vergleich von zwei Integer Java Basics - Anfänger-Themen 3
D Input/Output Input von zwei Koordinaten validieren und anschließend Werte speichern Java Basics - Anfänger-Themen 7
L Zwei sortierte Subarrays mit gleicher Länge zusammenfügen Java Basics - Anfänger-Themen 2
F Zwei Dimensionles Array Java Basics - Anfänger-Themen 21
I Alle Elemente von zwei Listen vergleichen Java Basics - Anfänger-Themen 1
J Inhalte von zwei Arrays vertauschen?! Java Basics - Anfänger-Themen 6
O zwei Arrays nach Werten durchsuchen und zusammenfügen Java Basics - Anfänger-Themen 3
A Wie zwei zahlen in einer Variable speichern? Java Basics - Anfänger-Themen 7
N Zwei Daten (Datum) miteinander vergleichen, abspeichern, laden Java Basics - Anfänger-Themen 4
X Threads Zwei Threads, aber doppelte Ausgabe verhindern (synchronized) Java Basics - Anfänger-Themen 54
B Relativen Anteil von zwei Datümer auf Monatsebene umrechnen Java Basics - Anfänger-Themen 130
W Zwei Programme sollen auf eine Klasse zugreifen Java Basics - Anfänger-Themen 18
B Rückgabe von zwei Werten: String und double Java Basics - Anfänger-Themen 14
J Zwei Klassen die sich gegenseitig referenzieren - Bad practice? Java Basics - Anfänger-Themen 4
B Anzahl von Stunden / Tage von zwei Datumswerten ermitteln Java Basics - Anfänger-Themen 1
L Erste Schritte Elemente zwei Schlangen vergleichen Java Basics - Anfänger-Themen 14
N Zwei Strings mit "==" vergleichen warum TRUE Java Basics - Anfänger-Themen 2
D Input/Output InputDialog mit zwei Inputfeldern? Java Basics - Anfänger-Themen 4
D Funktion zwei Arraylisten zu verleichen ob gleich funktioniert nicht Java Basics - Anfänger-Themen 26
S Daten aus zwei Verschiedenen Tabellen in eine ArrayListe Java Basics - Anfänger-Themen 4
D Zwei Strings sind gleich bei if aber nicht true Java Basics - Anfänger-Themen 2
E Best Practice Jar-file mit zwei Klassen und externer Bibliothek über Konsole erzeugen Java Basics - Anfänger-Themen 13
J Logging erzeugt zwei dateien.... Java Basics - Anfänger-Themen 7
S zwei-dimensionales Array Java Basics - Anfänger-Themen 20
R Zwei Attribute gleichzeitig ausgeben Java Basics - Anfänger-Themen 12
javajoshi Problem mit zwei Threads und Arrays (Runnable) Java Basics - Anfänger-Themen 12
T Classpath Zwei gleiche Dateinamen in verschiedenen Projekten möglich? Java Basics - Anfänger-Themen 13
H Bubblesort-Zwei Integer auf Dekade vergleichen. Java Basics - Anfänger-Themen 6
M Wie erzeuge ich die Differenz von zwei Daten in Stunden?? Java Basics - Anfänger-Themen 2
L Den Winkel zwischen zwei Vektoren berechnen! Java Basics - Anfänger-Themen 2
jaleda100 KeyCode – zwei Tasten gleichzeitig Java Basics - Anfänger-Themen 2
M Methoden Zwei Methoden in einem Program laufen lassen...aber wie? Java Basics - Anfänger-Themen 2
M Methoden zwei methoden gleichzeitig laufen lassen Java Basics - Anfänger-Themen 4
M For-Schleife durch zwei versch. Variablen begrenzen Java Basics - Anfänger-Themen 27
B Erste Schritte Problem bei der Verknüpfung von zwei klassen Java Basics - Anfänger-Themen 8
J Methoden Zwei Methoden die fast das gleiche tun organisieren Java Basics - Anfänger-Themen 3
Bluedaishi der Monat zwischen zwei Datumsangaben Java Basics - Anfänger-Themen 15
J Best Practice Datum Differenz aus zwei Strings ermitteln Java Basics - Anfänger-Themen 8
J Ein Objekt and eine Methode übergeben zwei Schreibweisen? Java Basics - Anfänger-Themen 6
R Threads Pause zwischen zwei Schleifen Java Basics - Anfänger-Themen 1
Aprendiendo Zwei Fragen und ein geerbtes "protected"-Attribut Java Basics - Anfänger-Themen 2
S Parameterübergabe zwischen zwei Programme Java Basics - Anfänger-Themen 4
L Rekursiv zwei Strings vergleichen Java Basics - Anfänger-Themen 3
L Classpath Zwei Bibliotheken enthalten gleiche .class Datei Java Basics - Anfänger-Themen 6
S OOP Zwei JSlider in einer Klasse Java Basics - Anfänger-Themen 2
P Aus einem Array zwei Arrays machen Java Basics - Anfänger-Themen 3
ArkHeat Erste Schritte Zwei 2-dimensionale Matritzen addieren Java Basics - Anfänger-Themen 0
S Erste Schritte Zwischen zwei Punkten ein Minimumpkt./Maxima finden Java Basics - Anfänger-Themen 1
T OOP Zwei Klassen Testen (Arrary Iterieren) Java Basics - Anfänger-Themen 6
E Eine Instanzvariable und zwei Objekte Java Basics - Anfänger-Themen 14
S Durchschnitt berechnen aus zwei Textfeldern Java Basics - Anfänger-Themen 21
K Zwei Fragen zu Graphics/Graphics2D Java Basics - Anfänger-Themen 5
P Verbindung von Zwei Kreisen löschen ! Java Basics - Anfänger-Themen 6
J Zwei String-Variabeln vergleichen Java Basics - Anfänger-Themen 5
F Vererbung in zwei Richtungen? Java Basics - Anfänger-Themen 14
J Hilfe beim "Verknüpfen" von zwei Klasse Java Basics - Anfänger-Themen 15
N Mit der gleichen BlockingQueue in zwei Klassen arbeiten Java Basics - Anfänger-Themen 12
S Methoden Vergleichen von zwei Listen in der Geschwindigkeit von O(n+m) Java Basics - Anfänger-Themen 32

Ähnliche Java Themen

Neue Themen


Oben