Zeichenkette erstellen mit Aufgabenstellung!

David123

Mitglied
Guten Tag,
Ich steh vor folgender Aufgabe und hab einfach keine Ahnung.

Java_Zeichenkette.png
dies sollten wir wenn möglich mit einer Schleife erstellen.
ich hoffe ihr könnt mir weiter helfen!

mfg David
 

VfL_Freak

Top Contributor
Moin,
bitte poste den Code nicht als ScreenShot, sondern in Code-Tags !!!
So läßt sich nichts zitieren !!

(a) Welche Warning kommt den in Zeile 8 ??
(b) Du schließt das Scanner-Objekt nicht !!

So, Du kannst ein Wort eingeben und kennst nun die jeweilige Anzahl an Groß- und Kleinbuchstaben ... :rolleyes:

Jetzt soll ein weiteres Zeichen eingebbar sein und sein Vorkommen in 'wort' gezählt werden ...
Woran genau scheiterst Du dabei ??

Gruß Klaus

EDIT: hier mal ein vlt. hilfreicher Link https://javabeginners.de/Ein-_und_Ausgabe/Scanner.php
 

Jardcore

Top Contributor
Du vergisst das du irgendwie auch Zähler brauchst. Hier für die Nachwelt mal der Code in Tags mit ein paar Änderungen
Java:
public class Zeichenkette {

    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        int anzahlBuchstabenGross = 0;
        int anzahlBuchstabenKlein = 0;
    
        System.out.println("Bitte geben Sie ein Wort ein: ");

        String wort = scan.next();
        scan.close();
    
        for(int i = 0; i < wort.lenght(); i++) {
            if(Character.isUpperCase(wort.charAt(i))) {
                anzahlBuchstabenGross++;
            } else {
                anzahlBuchstabenKlein++;
            }
        }
    
        System.out.println(
            String.format("Das Wort: %s hat %d große Buchstaben und %d kleine Buchstaben",
                wort, anzahlBuchstabenGross, anzahlBuchstabenKlein)); 
    }
}

Hier wird in einer Schleife geprüft ob der aktuelle Buchstabe an der Position i Groß ist, wenn ja, wird die Variable "anzahlBuchstabenGross" um 1 erhöht. Wenn nein, dann wird die Variable "anzahlBuchstabenKlein" um 1 erhöht.
 
Zuletzt bearbeitet:

VfL_Freak

Top Contributor
Stimmt, das war mir nicht aufgefallen :)

BTW: sowas
Java:
for( int i = 0; i < IRGENDWAS, i++ )
{
    // tue irgendwas
    i++;
}
ist natürlich meistens tödlich!
Du solltest NIE die Schleifenvariable innerhalb der Schleife manipulieren !!!

Gruß Klaus
 

David123

Mitglied
vielen dank für euere Hilfe!
ist dies auch noch mit erkennung von Zahlen möglich?
z.B. ich gebe das Wort: "698Hallo21" ein und erkennt wieviel Zahlen,Klein - und Großbuchstaben.
 

David123

Mitglied
wieso funktioniert dies so nicht?

Code:
import java.util.Scanner;

public class Zeichenkette
{

    public static void main(String[] args)
    {
        Scanner scan = new Scanner(System.in);
          int anzahlBuchstabenGross = 0;
          int anzahlBuchstabenKlein = 0;
          int anzahlZahlen = 0;
      
          System.out.println("Bitte geben Sie ein Wort ein: ");
          String wort = scan.next();
          System.out.println("Buchstaben insgesamt: "+ wort.length());
          scan.close();
      
          for(int i = 0; i < wort.length(); i++)
          {
              if(Character.isUpperCase(wort.charAt(i)))
              {
                  anzahlBuchstabenGross++;
              }
              else if (Character.isLowerCase(wort.charAt(i)))
              {
                  anzahlBuchstabenKlein++;
              }
              else
              {
                  anzahlZahlen++;
              }
           }
      
            System.out.printf("Das Wort: %s hat %d große Buchstaben und %d kleine Buchstaben und %d Zahlen",
            wort, anzahlBuchstabenGross, anzahlBuchstabenKlein);
    }

}
 

Flown

Administrator
Mitarbeiter
Es steht auch das für einen Platzhalter ein Argument fehlt. Sollte auch so aussehen:
Java:
System.out.printf("Das Wort: %s hat %d große Buchstaben und %d kleine Buchstaben und %d Zahlen", wort,
    anzahlBuchstabenGross, anzahlBuchstabenKlein, anzahlZahlen);
 

Neue Themen


Oben