JAVA - Wie bestimmte Buchstaben in strings zählen?

3 Antworten

Du könntest mit einer for-Schleife über den String iterieren und dann an jedem Buchstaben mit charAt() überprüfen ob es ein 'e' bzw. ein 'E' ist.


newinformatik 
Fragesteller
 27.10.2022, 20:39
import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner keyScan = new Scanner(System.in);

		System.out.print("Text: ");
		String text = keyScan.nextLine();

		// TODO: Anzahl e und E im Text zählen und ausgeben
		int counter=0;
		for (int x=0; x<text.length(); x++){
		    if (text.charAt(x) == 'e')
		    counter++;
		}
		System.out.println("E-Count:" +counter);
		keyScan.close();
	}
}
Mein Code sieht folgendermassen aus. zählen tut es die e's aber kann einen zweiten Buchstaben ohne das es Fehler anzeigt nicht Einpflegen! & besten Dank für deine rasche Hilfe!
0
rxbi06  27.10.2022, 20:41
@newinformatik

du kannst einfach zwei Integer machen, einen für kleine e's und einen für große, dann kannst du einfach an deine if-Abfrage noch ein else if drantun das auf große E's überprüft und da dann den counter für große E's hochzählen. Anschließend gibst du dann "e-Count" und "E-Count" zurück.
Ich hoffe mal du verstehst was ich meine :)

1
newinformatik 
Fragesteller
 27.10.2022, 20:43
@rxbi06

okey danke dir, ich versuche es mal rasch und melde mich gleich bei dir! :)

1
newinformatik 
Fragesteller
 27.10.2022, 20:47
@rxbi06

ach was ich vergessen habe, die beiden Buchstaben sollen in einem E-counter ausgespuckt werden.. also nicht separat

0
rxbi06  27.10.2022, 20:49
@newinformatik

oh, dann kannst du die beiden integer entweder zusammenzählen oder einfach text.toLowerCase().charAt(x) schreiben; mit toLowerCase() werden alle großen Buchstaben automatisch zu kleinen, heißt mit deiner Überprüfung hier: text.charAt(x) == 'e' erfasst du dann auch die großen E's :)

1
newinformatik 
Fragesteller
 27.10.2022, 20:54
@rxbi06

was eine tolle Idee!! hatten das bereits behandelt gehabt! Danke dir vielmals für deine Hilfe! hat nun geklappt

1
Hier mit ein wenig HTML außen rum, um im Browser zu debuggen. Wie immer bei SW Lösungen, es gibt viele Möglichkeiten.
Den Code in eine txt Datei kopieren und dann in HTML umbennen und doppelklick. Dann im Browser ansehen und debuggen.
===  
<!DOCTYPE html>
<html>
<body>
<script>
function myTest()
{
var myMatch=0;
var myCnt = 0;
var myLetter ="L";
var mytext = "HELLO WORLD";
for(myCnt=0; myCnt <= mytext.length;myCnt++)
{
    if(myLetter == mytext.charAt(myCnt))
    {  myMatch++;
    }
}
    document.getElementById("demo").innerHTML = 'Found: ' + myMatch + 'times L';
}
</script>
<h2>The charAt() Method</h2>
<p>Click on 'BlaBla</p>
<p id="demo" onclick="myTest()">BlaBla</p>
</body>
</html>


Einfach jeden Char des strings einzeln prüfen und bei "e" bzw "E" Hochzählen