Buchstabenzähler Java (Anfänger)

keiji2605

Mitglied
Hallo, also ich muss diesen Code so umschreiben, dass der Nutzer einen Text und ein gesuchtes Zeichen eingeben kann und dann die Anzahl von dem Gesuchten Zeichen heraus kommt. Bin noch ganz am Anfang von Java also falls es irgendwie mit If und Else geht wäre es gut. (Das "//TFbuchstabe" soll der String sein, den man noch erstellen muss, für die Eingabe des gesuchten Buchstabes. LG
Hier der Code den ich Bearbeiten soll:


Java:
public class Buchstabenzähler extends JFrame {
  // Anfang Attribute
  private JTextArea TAeingabe = new JTextArea("");
    private JScrollPane TAeingabeScrollPane = new JScrollPane(TAeingabe);
  private JButton bZaehle = new JButton();
  private JTextField TFergebnis = new JTextField();
  private JLabel lAnzahl = new JLabel();
  private JLabel lGesuchterBuchstabe = new JLabel();
  private JTextField TFbuchstabe = new JTextField();
  // Ende Attribute
 
  public Buchstabenzähler() {
    // Frame-Initialisierung
    super();
    setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
    int frameWidth = 300;
    int frameHeight = 372;
    setSize(frameWidth, frameHeight);
    Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
    int x = (d.width - getSize().width) / 2;
    int y = (d.height - getSize().height) / 2;
    setLocation(x, y);
    setTitle("Buchstabenzähler");
    setResizable(false);
    Container cp = getContentPane();
    cp.setLayout(null);
    // Anfang Komponenten
   
    TAeingabeScrollPane.setBounds(46, 25, 200, 100);
    cp.add(TAeingabeScrollPane);
    bZaehle.setBounds(97, 190, 75, 25);
    bZaehle.setText("Zähle!");
    bZaehle.setMargin(new Insets(2, 2, 2, 2));
    bZaehle.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent evt) {
        bZaehle_ActionPerformed(evt);
      }
    });
    cp.add(bZaehle);
    TFergebnis.setBounds(144, 268, 78, 20);
    cp.add(TFergebnis);
    lAnzahl.setBounds(47, 267, 78, 20);
    lAnzahl.setText("Anzahl:");
    cp.add(lAnzahl);
    lGesuchterBuchstabe.setBounds(14, 145, 130, 20);
    lGesuchterBuchstabe.setText("Gesuchter Buchstabe:");
    cp.add(lGesuchterBuchstabe);
    TFbuchstabe.setBounds(155, 149, 102, 20);
    cp.add(TFbuchstabe);
    // Ende Komponenten
   
    setVisible(true);
  } // end of public Buchstabenzähler
 
  // Anfang Methoden
 
  public static void main(String[] args) {
    new Buchstabenzähler();
  } // end of main
 
  public void bZaehle_ActionPerformed(ActionEvent evt) {
    //TFbuchstabe
    String texteingabe = TAeingabe.getText();
   
    int counter = 0;
   
    for (int i=0; i<texteingabe.length(); i++) {
      if (texteingabe.charAt(i) != ' ') {
        counter++;
      } // end of if
    }
   
    String ergebnis = String.valueOf(counter);
    TFergebnis.setText(ergebnis);
    // end of for
  } // end of bZaehle_ActionPerformed

  // Ende Methoden
} // end of class Buchstabenzähler
 

Anhänge

  • java.PNG
    java.PNG
    4 KB · Aufrufe: 34
Zuletzt bearbeitet von einem Moderator:
K

kneitzel

Gast
Du hast da doch schon fast alles.

Du hast ja das Textfeld TAeingabe für die Eingabe des Textes.
Und TFbuchstabe für den Buchstaben.

Die Methode bZaehle_ActionPerformed existiert schon und muss lediglich angepasst werden....

An den Text von TFbuchstabe kommst Du über den gleichen Weg wie bei TAeingabe (getText() Aufruf.)

Und schon kannst Du die Zählschleife anpassen. Die for-Schleife zählt alle Indices von den Buchstaben durch - das wollen wir haben ...

Jetzt musst Du Dir nur überlegen, was da genau gemacht werden soll. Besonders der Fall, dass bei dem zu suchenden Buchstaben "abc" eingegeben wurde musst Du Dir überlegen, was Du machen willst. Willst Du alle a, b und c zählen oder willst Du einfach nur den ersten Buchstaben zählen?

Den Anfang mit dem Auslesen des Feldes solltest Du also schon einmal hin kriegen, so dass du den eingegebenen String hast. Und dann musst Du nur noch überlegen, was genau Du in der Schleife prüfen willst.... Alle "Bausteine" hast Du prinzipiell schon ...
 
K

kneitzel

Gast
@mihe7 Ja, das sehe ich ähnlich. Aber die Probleme sind ja hausgemacht ... Da sind dann teilweise junge Lehrer, die dann minimale Schulungen bekommen und dann Informatik (oder wie man das Fach auch immer nennen möchte) unterrichten dürfen (müssen?) und das mit schlechten oder nicht vorhandenen Materialien. Da kommt teilweise sowas dabei raus.

Das aber einfach nur zu meiner (eingeschränkten) Sicht auf dieses Thema, da ich da nicht mehr zu viel Einblick in die Thematik habe ....
 

mihe7

Top Contributor
Das aber einfach nur zu meiner (eingeschränkten) Sicht auf dieses Thema, da ich da nicht mehr zu viel Einblick in die Thematik habe ....
Das ist schon immer noch so. Hindert aber keinen daran, (didaktisch) sinnvolle Aufgaben zu stellen, sich wenigstens an die Basics (wie z. B. Benennungskonventionen) zu halten oder diese Zeilenkommentare am Ende der Blöcke wegzulassen. Letztere sind doch ein Relikt aus der Steinzeit, wo man noch Zeilennummern eintippen musste :)

Und wenn man schon meint, man will das grafisch machen - was ja durchaus für höhere Motivation sorgen kann -, dann kann man doch einfach eine Klasse mit einer Methode dazupacken, die von mir aus zwei Strings übergeben bekommt und die Anzahl zurückgibt. Diese Methode wäre dann, sauber getrennt, vom Schüler zu bearbeiten.
 
K

kneitzel

Gast
// Hier kommt ein Forumspost

// Meine Aussage
Was hast Du gegen Kommentare? Woher willst Du denn sonst wissen, dass dies ein Forumspost und meine Aussage ist? Also echt ... *SCNR*


Also wenn man etwas drüber nachdenkt, dann ist da doch eine einfache Abstraktion ausreichend. Vieles kann man einfach verstecken und da gibt es dann bestehende Lösungen / Ideen
a) Diese "Roboter" Simulationen wären ein Beispiel. Einfache Lib einbinden und schon kann man da viele Grundlagen (grafisch) abhaken.
b) ich würde dann sogar überlegen, weg von Java zu gehen. Warum nicht eine Sprache wie Smalltalk und da dann speziell Squeak? Didaktisch bestimmt deutlich besser zumal man da auch deutlich besser die Objektorientierung heraus arbeiten kann ... (IMHO - aber ich bin da noch geprägt von einer Fernuni Hagen Vorlesung / Lehrbrief ... Habe sogar jetzt nachgesehen und habe ich sogar noch als PDF da - Kurs 01814 war das damals "Objektorientierte Entwicklung" ... lustig)
c) Die Komplexität kann man sehr gut reduzieren z.B. durch nutzen von Standard Dialogen und so. Dann wird der Schüler kaum etwas sehen von dem GUI Code.

Aber gerade Dinge wie Clean Code und Objektorientiertes Denken kann man eigentlich nicht früh genug thematisieren ... Es muss ja nicht im Detail ausgearbeitet werden, aber einfache Anmerkungen z.B. bei Bezeichnern und ein entsprechendes "Vormachen" halte ich für existenziell.
 
Moin, wollen wir mal nicht so sein

Java:
import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;

public class Buchstabenzaehler extends JFrame implements ActionListener {
    private static final long serialVersionUID = 1L;
    private JPanel panel1 = new JPanel();
    private JPanel panel2 = new JPanel();
    private JTextArea area = new JTextArea();
    private JButton button = new JButton("Zähle...");
    private JTextField field1 = new JTextField("a");
    private JTextField field2 = new JTextField("0");

    public Buchstabenzaehler() {
        initComponents();
    }

    private void initComponents() {
        panel1.setLayout(new BorderLayout());
        panel2.setLayout(new GridLayout(1, 3));
        panel1.add(new JScrollPane(area), BorderLayout.CENTER);
        panel1.add(panel2, BorderLayout.SOUTH);
        panel2.add(button);
        panel2.add(field1);
        panel2.add(field2);
        this.setTitle("Buchstabenzähler");
        this.add(panel1);
        this.setSize(400, 400);
        this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
        this.setVisible(true);
        button.addActionListener(this);
    }

    @Override
    public void actionPerformed(ActionEvent e) {
        final int ch = field1.getText().chars().findFirst().orElse('a');
        field2.setText(String.valueOf(area.getText().chars().filter(i -> i == ch).count()));
    }

    public static void main(String[] args) {
        new Buchstabenzaehler();
    }
}
 

keiji2605

Mitglied
Du hast da doch schon fast alles.

Du hast ja das Textfeld TAeingabe für die Eingabe des Textes.
Und TFbuchstabe für den Buchstaben.

Die Methode bZaehle_ActionPerformed existiert schon und muss lediglich angepasst werden....

An den Text von TFbuchstabe kommst Du über den gleichen Weg wie bei TAeingabe (getText() Aufruf.)

Und schon kannst Du die Zählschleife anpassen. Die for-Schleife zählt alle Indices von den Buchstaben durch - das wollen wir haben ...

Jetzt musst Du Dir nur überlegen, was da genau gemacht werden soll. Besonders der Fall, dass bei dem zu suchenden Buchstaben "abc" eingegeben wurde musst Du Dir überlegen, was Du machen willst. Willst Du alle a, b und c zählen oder willst Du einfach nur den ersten Buchstaben zählen?

Den Anfang mit dem Auslesen des Feldes solltest Du also schon einmal hin kriegen, so dass du den eingegebenen String hast. Und dann musst Du nur noch überlegen, was genau Du in der Schleife prüfen willst.... Alle "Bausteine" hast Du prinzipiell schon ...
Ich verstehe Danke! Aber ich verstehe nicht so ganz wie ich es hinkriege alle Zeichen die man eingibt zählen zu lassen also ich muss das ja irgendwie verknüpfen oder?
 

keiji2605

Mitglied
Moin, wollen wir mal nicht so sein

Java:
import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;

public class Buchstabenzaehler extends JFrame implements ActionListener {
    private static final long serialVersionUID = 1L;
    private JPanel panel1 = new JPanel();
    private JPanel panel2 = new JPanel();
    private JTextArea area = new JTextArea();
    private JButton button = new JButton("Zähle...");
    private JTextField field1 = new JTextField("a");
    private JTextField field2 = new JTextField("0");

    public Buchstabenzaehler() {
        initComponents();
    }

    private void initComponents() {
        panel1.setLayout(new BorderLayout());
        panel2.setLayout(new GridLayout(1, 3));
        panel1.add(new JScrollPane(area), BorderLayout.CENTER);
        panel1.add(panel2, BorderLayout.SOUTH);
        panel2.add(button);
        panel2.add(field1);
        panel2.add(field2);
        this.setTitle("Buchstabenzähler");
        this.add(panel1);
        this.setSize(400, 400);
        this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
        this.setVisible(true);
        button.addActionListener(this);
    }

    @Override
    public void actionPerformed(ActionEvent e) {
        final int ch = field1.getText().chars().findFirst().orElse('a');
        field2.setText(String.valueOf(area.getText().chars().filter(i -> i == ch).count()));
    }

    public static void main(String[] args) {
        new Buchstabenzaehler();
    }
}
Hey danke das ist zwar genau das Programm was ich brauche aber ich muss es auf grundlage des Oben genannten Codes schreiben. LG
 

mihe7

Top Contributor
Aber ich verstehe nicht so ganz wie ich es hinkriege alle Zeichen die man eingibt zählen zu lassen also ich muss das ja irgendwie verknüpfen oder?
Das ist jetzt aber was anderes als:
und ein gesuchtes Zeichen eingeben kann und dann die Anzahl von dem Gesuchten Zeichen heraus kommt

Also, die erste Frage ist: sollen die Vorkommen eines einzigen Zeichens oder mehrerer eingegebenen Zeichen gezählt werden?

Die zweite Frage wäre, ob Du den Code
Java:
String texteingabe = TAeingabe.getText();

int counter = 0;

for (int i=0; i<texteingabe.length(); i++) {
    if (texteingabe.charAt(i) != ' ') {
        counter++;
    } // end of if
}
verstehst, z. B. erklären kannst?
 
K

kneitzel

Gast
Und evtl. noch etwas Ergänzt:

Ich bin ein großer Freund von "Teile und Herrsche" - also teile eine Aufgabe auf in viele einfache kleine Aufgaben. Das macht es sofort deutlich einfacher ...

Also was bedeutet das bei Dir? Du willst zählen, wie oft ein Buchstabe in einem String vorkommt? Dann mach das als kleine Methode:
int countChar(String source, Char ch) { ... }

Und das kannst Du dann nutzen, um mehrere Zeichen zu suchen. Denn dann ist klar: Du suchst nach jedem einzelnen Zeichen und addierst das dann auf.

Und es sollte einem Anfänger doch zu denken geben, wenn erfahrene Entwickler sowas machen. Die erfahrenen Entwickler haben garantiert weniger Probleme, auch mal einen komplexeren Code zu verstehen.
 

keiji2605

Mitglied
Das ist jetzt aber was anderes als:


Also, die erste Frage ist: sollen die Vorkommen eines einzigen Zeichens oder mehrerer eingegebenen Zeichen gezählt werden?

Die zweite Frage wäre, ob Du den Code
Java:
String texteingabe = TAeingabe.getText();

int counter = 0;

for (int i=0; i<texteingabe.length(); i++) {
    if (texteingabe.charAt(i) != ' ') {
        counter++;
    } // end of if
}
verstehst, z. B. erklären kannst?
Also ich verstehe den Code eigentlich aber nicht alles. Also man soll einen Text eingeben können, das Zeichen von dem man die Häufigkeit haben möchte und wenn man das auf "Zähle!" klickt die Anzahl des Buchstaben im Text.
 

keiji2605

Mitglied
Und evtl. noch etwas Ergänzt:

Ich bin ein großer Freund von "Teile und Herrsche" - also teile eine Aufgabe auf in viele einfache kleine Aufgaben. Das macht es sofort deutlich einfacher ...

Also was bedeutet das bei Dir? Du willst zählen, wie oft ein Buchstabe in einem String vorkommt? Dann mach das als kleine Methode:
int countChar(String source, Char ch) { ... }

Und das kannst Du dann nutzen, um mehrere Zeichen zu suchen. Denn dann ist klar: Du suchst nach jedem einzelnen Zeichen und addierst das dann auf.

Und es sollte einem Anfänger doch zu denken geben, wenn erfahrene Entwickler sowas machen. Die erfahrenen Entwickler haben garantiert weniger Probleme, auch mal einen komplexeren Code zu verstehen.
Ich versuche es mal! Danke!
 

mihe7

Top Contributor
Also ich verstehe den Code eigentlich aber nicht alles. Also man soll einen Text eingeben können, das Zeichen von dem man die Häufigkeit haben möchte und wenn man das auf "Zähle!" klickt die Anzahl des Buchstaben im Text.
Gut, damit wäre die erste Frage beantwortet. Zur zweiten Frage: ich meinte, ob Du jede Zeile der von mir zitierten Passage verstehst. Erklär doch mal, was jede der Zeilen 1, 3, 5, 6 und 7 macht.
 

keiji2605

Mitglied
Gut, damit wäre die erste Frage beantwortet. Zur zweiten Frage: ich meinte, ob Du jede Zeile der von mir zitierten Passage verstehst. Erklär doch mal, was jede der Zeilen 1, 3, 5, 6 und 7 macht.
Also in Zeile 1 erstelle ich einen String also der, dass was der Nutzer reinschreibt "rausnimmt". Zeile 3: Ist ein Zähler der bei 0 anfängt. Zeile 5 und 6 verstehe ich nicht und 7 heißt das es immer + 1 zählt.
 

mihe7

Top Contributor
lso in Zeile 1 erstelle ich einen String also der, dass was der Nutzer reinschreibt "rausnimmt". Zeile 3: Ist ein Zähler der bei 0 anfängt. Zeile 5 und 6 verstehe ich nicht und 7 heißt das es immer + 1 zählt.
Gut, damit ist auch klar, warum Du ein Problem mit der Aufgabe haben musst.

Zeile 5 ist eine for-Schleife, die dazu dient, den in geschweiften Klammern folgenden Block wiederholt auszuführen. Dabei wird bei i = 0 begonnen und i nach jeder Wiederholung um 1 erhöht. Vor jeder Wiederholung wird die angegebene Bedingung i < texteingabe.length() geprüft. Ist die Bedingung erfüllt, wird der Block ausgeführt, ansonsten endet die Schleife.

Beispiel:
Java:
for (int i = 0; i < 10; i++) {
    System.out.println(i);
}
ist äquivalent zu
Java:
int i = 0;
while (i < 10) {
    System.out.println(i);
    i++;
}
und liefert als Ausgabe
Code:
0
1
2
3
4
5
6
7
8
9

texteingabe.length() liefert natürlich die Länge des eingegebenen Texts.

In Zeile 6 wird zuerst einmal mit texteingabe.charAt(i) das i-te Zeichen der texteingabe abgerufen. Beispiel:
Java:
String text = "abc";
// text.charAt(0) liefert ein 'a'
// text.charAt(1) liefert ein 'b'
// text.charAt(2) liefert ein 'c'

Das i-te Zeichen der texteingabe wird dann mit einem Leerzeichen verglichen. Handelt es sich um kein(!) Leerzeichen, wird Zeile 7 ausgeführt und counter um 1 erhöht.

Würdest Du z. B. alle 'a' zählen wollen, sähe Zeile 7 einfach so aus:
Java:
if (texteingabe.charAt(i) == 'a') {
Hier wird der "=="-Operator zum Vergleich verwendet, in Zeil 7 oben dagegen "!=" (Ungleichheit).

Übersetzt:
Code:
Für jedes i von 0 bis zum Ende der Texteingabe wiederhole {
    Falls das i-te Zeichen der Texteingabe kein Leerzeichen ist, dann {
        erhöhe counter um 1
    }
}

Jetzt solltest Du den Code schon dahingehend anpassen können, dass Du alle X zählst und mit ein klein wenig weiterdenken sollte auch die Aufgabe lösbar sein.
 

keiji2605

Mitglied
Gut, damit ist auch klar, warum Du ein Problem mit der Aufgabe haben musst.

Zeile 5 ist eine for-Schleife, die dazu dient, den in geschweiften Klammern folgenden Block wiederholt auszuführen. Dabei wird bei i = 0 begonnen und i nach jeder Wiederholung um 1 erhöht. Vor jeder Wiederholung wird die angegebene Bedingung i < texteingabe.length() geprüft. Ist die Bedingung erfüllt, wird der Block ausgeführt, ansonsten endet die Schleife.

Beispiel:
Java:
for (int i = 0; i < 10; i++) {
    System.out.println(i);
}
ist äquivalent zu
Java:
int i = 0;
while (i < 10) {
    System.out.println(i);
    i++;
}
und liefert als Ausgabe
Code:
0
1
2
3
4
5
6
7
8
9

texteingabe.length() liefert natürlich die Länge des eingegebenen Texts.

In Zeile 6 wird zuerst einmal mit texteingabe.charAt(i) das i-te Zeichen der texteingabe abgerufen. Beispiel:
Java:
String text = "abc";
// text.charAt(0) liefert ein 'a'
// text.charAt(1) liefert ein 'b'
// text.charAt(2) liefert ein 'c'

Das i-te Zeichen der texteingabe wird dann mit einem Leerzeichen verglichen. Handelt es sich um kein(!) Leerzeichen, wird Zeile 7 ausgeführt und counter um 1 erhöht.

Würdest Du z. B. alle 'a' zählen wollen, sähe Zeile 7 einfach so aus:
Java:
if (texteingabe.charAt(i) == 'a') {
Hier wird der "=="-Operator zum Vergleich verwendet, in Zeil 7 oben dagegen "!=" (Ungleichheit).

Übersetzt:
Code:
Für jedes i von 0 bis zum Ende der Texteingabe wiederhole {
    Falls das i-te Zeichen der Texteingabe kein Leerzeichen ist, dann {
        erhöhe counter um 1
    }
}

Jetzt solltest Du den Code schon dahingehend anpassen können, dass Du alle X zählst und mit ein klein wenig weiterdenken sollte auch die Aufgabe lösbar sein.
Okay ich habe den Code nun komplett verstanden und weiß auch was ich ändern muss aber wie sage ich dem Programm, dass jede variable die eingegeben wird entnommen und gezählt wird. Das verstehe ich nicht so ganz.
 

mihe7

Top Contributor
Naja, Du holst Dir halt das erste Zeichen der Benutzereingabe:
Java:
String buchstaben = TFbuchstabe.getText();
char gesucht = buchstaben.get(0); // erstes Zeichen....
Hier musst Du allerdings noch für etwas Sicherheit sorgen, denn buchstaben kann auch ein leerer String sein, dann würde get(0) zu einer Exception führen.
 

keiji2605

Mitglied
Naja, Du holst Dir halt das erste Zeichen der Benutzereingabe:
Java:
String buchstaben = TFbuchstabe.getText();
char gesucht = buchstaben.get(0); // erstes Zeichen....
Hier musst Du allerdings noch für etwas Sicherheit sorgen, denn buchstaben kann auch ein leerer String sein, dann würde get(0) zu einer Exception führen.
Achso also muss ich sozusagen jeden Buchstaben jetzt manuell eingeben?
 

mihe7

Top Contributor

keiji2605

Mitglied
Naja, Du holst Dir halt das erste Zeichen der Benutzereingabe:
Java:
String buchstaben = TFbuchstabe.getText();
char gesucht = buchstaben.get(0); // erstes Zeichen....
Hier musst Du allerdings noch für etwas Sicherheit sorgen, denn buchstaben kann auch ein leerer String sein, dann würde get(0) zu einer Exception führen.
Java:
// jetzt sieht es so aus:
    String texteingabe = TAeingabe.getText();
    String buchstaben = TFbuchstabe.getText();
    char gesucht = buchstaben.get(0);
    int counter = 0;
jetzt sieht es so aus aber jetzt kommt jetzt der ein Fehlercode den ich nicht verstehe:​
Buchstabenzähler.java:78:30: error: cannot find symbol
char gesucht = buchstaben.get(0);
^
symbol: method get(int)
location: variable buchstaben of type String
 

keiji2605

Mitglied
Oops. Die Methode heißt nicht get(0) sondern charAt(0).
Okay also jetzt startet das Programm aber jetzt geschieht folgendes: Ich gebe einen Text ein nichts passiert und dann gebe ich einen Buchstaben ein und dann zählt er die Buchstaben des Textes und nicht wie viele Buchstaben drinnen sind. Habe ich was falsch gemacht?
Das ist der aktuelle Code:
public static void main(String[] args) {
new Buchstabenzähler();
} // end of main

public void bZaehle_ActionPerformed(ActionEvent evt) {
//TFbuchstabe
String texteingabe = TAeingabe.getText();
String buchstaben = TFbuchstabe.getText();
char gesucht = buchstaben.charAt(0);
int counter = 0;

for (int i=0; i<texteingabe.length(); i++) {
if (texteingabe.charAt(i) == ' '); {
counter++;
} // end of if
}

String ergebnis = String.valueOf(counter);
TFergebnis.setText(ergebnis);
// end of for
} // end of bZaehle_ActionPerformed

// Ende Methoden
} // end of class Buchstabenzähler
 
Ok neuer Versuch:
Java:
import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;

public class Buchstabenzaehler extends JFrame implements ActionListener {
    private static final long serialVersionUID = 1L;
    private static final char default_char_to_search = 'a';
    private JPanel panel1 = new JPanel();
    private JPanel panel2 = new JPanel();
    private JTextArea area = new JTextArea();
    private JButton button = new JButton("Zähle...");
    private JTextField field1 = new JTextField(String.valueOf(default_char_to_search));
    private JTextField field2 = new JTextField("0");

    public Buchstabenzaehler() {
        initComponents();
    }

    private void initComponents() {
        panel1.setLayout(new BorderLayout());
        panel2.setLayout(new GridLayout(1, 3));
        panel1.add(new JScrollPane(area), BorderLayout.CENTER);
        panel1.add(panel2, BorderLayout.SOUTH);
        panel2.add(button);
        panel2.add(field1);
        panel2.add(field2);
        this.setTitle("Buchstabenzähler");
        this.add(panel1);
        this.setSize(400, 400);
        this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
        this.setVisible(true);
        button.addActionListener(this);
    }

    private char gibDasErsteZeichenHer() {
        String s = field1.getText();
        if (s == null || s.isBlank())
            return default_char_to_search;
        return s.charAt(0);
    }

    private int zaehleDasFolgendeZeichen(char zeichen) {
        /*
         * Verwende Code von mihe7 ....
         */
        return 0;
    }

    @Override
    public void actionPerformed(ActionEvent e) {
        field2.setText(String.valueOf(zaehleDasFolgendeZeichen(gibDasErsteZeichenHer())));
    }

    public static void main(String[] args) {
        new Buchstabenzaehler();
    }
}
Vervollständige die Methode zaehleDasFolgendeZeichen!
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Buchstabenzähler funktioniert nicht. 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
wolei Java generic interface in a generic class Java Basics - Anfänger-Themen 6
monsterherz Ablauf der Erstellung eines Java Programmes Java Basics - Anfänger-Themen 17
monsterherz Circle.java:5: error: <identifier> expected Java Basics - Anfänger-Themen 2
julian-fr Wie kann ich am besten Java lernen? Java Basics - Anfänger-Themen 17
A Java-Properties und -RessourceBundles Java Basics - Anfänger-Themen 5
lrnz22 Java-Basics-Aufgabe Java Basics - Anfänger-Themen 8
R Java kann nicht installiert werden Java Basics - Anfänger-Themen 8
marcelnedza Finde meinen Fehler in einer Methode nicht, Java Karol Java Basics - Anfänger-Themen 15
G In ein java Dokument Ton einbinden Java Basics - Anfänger-Themen 1
C was heisst es wenn java ']' erwartet ? Java Basics - Anfänger-Themen 2
KeinJavaFreak Erste Schritte Programm "Java(TM) Platform SE binary " nicht vorhanden Java Basics - Anfänger-Themen 1
KeinJavaFreak Erste Schritte Java "Executable Jar File" nicht vorhanden Java Basics - Anfänger-Themen 1
melisax Java 2D-Array Tabelle Java Basics - Anfänger-Themen 4
melisax Java Array Wert an bestimmtem Index angeben Java Basics - Anfänger-Themen 14
J Java Testklasse Java Basics - Anfänger-Themen 5
P Java Selenium . Parameterized.Parameters erzeugt eine Fehlermeldung Java Basics - Anfänger-Themen 14
W Java-Code mit Array Java Basics - Anfänger-Themen 14
W Java-Code Java Basics - Anfänger-Themen 2
P BeforeEach AfterEach werden nicht ausgeführt. Java / Selenium Java Basics - Anfänger-Themen 4
A Wie führe ich eine Batch-Datei von meiner Java-Anwendung aus? Java Basics - Anfänger-Themen 18
W Java code- TicTac toe Java Basics - Anfänger-Themen 51
Ostkreuz Java Docs Java Basics - Anfänger-Themen 9
R Java boolean Unterschied " == " und " = " Java Basics - Anfänger-Themen 3
D Java Programm mit Batch-Datei starten Java Basics - Anfänger-Themen 32
W Java-code Java Basics - Anfänger-Themen 8
W Java-code Java Basics - Anfänger-Themen 9
W Java-Code erklären Java Basics - Anfänger-Themen 6
A Java Kurs / Tutorial Java Basics - Anfänger-Themen 6
K Java Lotto Spiel; ich komme nicht weiter Java Basics - Anfänger-Themen 15
R Operatoren Rechenoperation in Java verwenden für Calculator Java Basics - Anfänger-Themen 2
P Java 2n Potenzieren Java Basics - Anfänger-Themen 1
J Java Hamster Java Basics - Anfänger-Themen 4
D Wie sehe ich ein Java-Programm? Java Basics - Anfänger-Themen 27
V Die Funktion des neuen Schlüsselworts in Java Java Basics - Anfänger-Themen 1
W Junit-Test (Java) Java Basics - Anfänger-Themen 4
W Testfälle bei Java ( Junit-Test) Java Basics - Anfänger-Themen 3
laxla123 If-else Java Java Basics - Anfänger-Themen 4
RashAGhul Java Verwaltungstool Erstellen mit kaum Wissen Java Basics - Anfänger-Themen 9
S Substring in java Java Basics - Anfänger-Themen 3
Z Operatoren Java Applikation Java Basics - Anfänger-Themen 8
Tw1Z Erste Schritte Sort in java Java Basics - Anfänger-Themen 2
sasnitzer java augensumme von zwei würfeln ist 1 Java Basics - Anfänger-Themen 8
MiMa Java Doc mehrere Return Parameter Java Basics - Anfänger-Themen 11

Ähnliche Java Themen

Neue Themen


Oben