Zugriff auf einzelne Buchstaben eines String

Status
Nicht offen für weitere Antworten.

sascha123

Mitglied
Hallo zusammen!!!
Ich habe folgendes Problem:
Ich hab ein Array namens String. In diesem Array sind die Elemente "Heute", "ist", "aber", "wirklich" und
"schönes Wetter". Jetzt würde ich gerne (innerhalb von einem Java-Programm) ausgeben, wie oft welcher Buchstabe vorkommt. Also ungefähr so:

' w ' : 1
' s ' : 3 usw...

Das bekomme ich aber leider nicht hin! Es hapert schon dabei, den ersten Buchstaben vom ersten Element zu bestimmen. Wie referenziere ich auf den? Ich vermute mal irgendwas in die Richtung CharAt(index).String[0] ??? Es klappt halt einfach nicht und ich würde mich sehr über eure Hilfe freuen!

Vielen Dank im Vorraus,

sascha.
 

sascha123

Mitglied
wow, das ging ja schnell!
is aber leider zu unverständlich für mich!
trotzdem danke!
also ich bräuchte da eigentlich einmal ansatzweise wenigstens den genauen code, damit ich das dann versteh!
 

The_S

Top Contributor
Wenn du was genaues brauchst solltest du mal deinen Code (oder zumindest zum Teil) posten.
 

sascha123

Mitglied
gut, hey isn:

-----------------------------------------------------------------------

Code:
class Blatt9 {

    public static void main(String[] String) {

	System.out.println("Parameter:");

	for(int i = 0; i < String.length; i++) {	
	System.out.println(i + " : " +"\"" + String[i] +"\""); // Ausgabe der einzelnen Wörter in Anführungszeichen
	
	}

	System.out.println("\n\nCharacter occurrences: ");  // Wie oft hat man welchen Buchstaben???
	

	System.out.println("\nInput:");	
	for(int i = 0; i < String.length; i++) {	
	System.out.print(String[i] + " ");       // Ausgabe des Input
	
	}	

    }

}

------------------------------------------------------------------------

Und der Text : Heute ist aber wirklich "schönes Wetter" wird dann in der Kommandozeile eingegeben. also nach javac Blatt9.java schreibt man dann java Blatt9 Heute ist aber wirklich "schönes Wetter" .

edited by thE_29: code tags!
 

The_S

Top Contributor
schonmal was von Codetags gehört :D ? Gut der Code hilft auch nicht viel weiter! Kann grad net selbst proggen, also hier ein theoretischer Ansatz: Die Strings in ein Char Array einlesen. ne for Schleife machen, die die einzelnen Elemente vergleicht und dabei ihre häufigkeit (z. B. in einem int Array) speichert. Mehr kann ich momentan leider nicht helfen
 

thE_29

Top Contributor
Code:
    String strAbc = "abcdefghijklmnopqrstuvwxyz";
    int iField[] = new int[26];  //wo die Zahlen abgespeichert werden
    for(int y = 0; y != strAbc.length(); y++)
    {
      for (int x = 0; x != strFields.length; x++)
      {
        int iCnt = 0;
        for (int z = 0; z != strFields[x].length(); z++)
        {
          if (strFields[x].charAt(z) == strAbc.charAt(y))
            iCnt++;
        }
        iField[y] += iCnt;
      }
    }
for(int x = 0; x != iField.length; x++)
    {
      System.out.print(strAbc.charAt(x));
      System.out.print(" = ");
      System.out.println(iField[x]);
    }

gegebenenfalls die Arrays und das anfangsabc anpassen!
 

mic_checker

Top Contributor
Wird so aber noch net funzen -> strFields ....

soll nicht zwischen groß/kleinschreibung unterschieden werden? Falls ja ist iField zu klein....
 

mic_checker

Top Contributor
Hier mein Ansatz:

Man geht die einzelnen Strings im Array der Reihe nach durch...In ner inneren Schleife geht man die einzelnen Buchstaben des jeweiligen Strings durch (siehe charAt(int index)).
Anschließend kann man das int Array nach Bedarf inkrementieren:

Code:
public class CountVokal2
{
	public static void main(String[] args)
	{
   	String[] test = {"Heute","ist","aber","wirklich","schönes","Wetter"};
    	int iField[] = new int[26];  
    	char ch;
	    
    	for(int y = 0; y < test.length; y++)
    	{
			for(int c = 0;c < test[y].length();c++)
			{
				ch = test[y].charAt(c);
				
				/*
				* Kleine Denksportaufgabe:
				* Was muss hier hin? ;)
				*/
			}
		}
		
		for(int i = 0;i < iField.length;i++)
			System.out.println((char)(i+65) + " = "+iField[i]+" mal");
	}
}

Groß/Kleinschreibung nicht beachtet. Das "umzustellen" ist Kinderspiel....Ein bissl Code muss noch rein, aber das ist kein prob...überleg halt einfach mal.

Hoffe du meintest es so..code müsste eigentlich funzen, ansonsten bitte posten.
 

sascha123

Mitglied
vielen dank erstmal an alle für die schnellen antworten!!!

ich werde gleich mal versuchen, den code von mic_checker zu verstehen und zu verändern!
DANKE für die Denksport-Aufgabe :wink:
 

mic_checker

Top Contributor
Also die Vorgehensweise ist ja prinzipiell nicht sehr kompliziert.

In der äusseren for durchläufst du die Elemente des Arrays, in der inneren for durchläufst du jeden Buchstaben des zugehörigen Elementes des Arrays (Strings)...

In der "Denksportaufgabe" fehlt noch ne if..else...Bedingung - wobei das auch recht klar sein sollte was da rein kommen muss.

ansonsten kannst ja immer noch posten.

btw. für groß/kleinschreibung zu unterscheiden, ist das ganze nicht großartig anders,nur das dein iField größer sein muss...und der Block der Bedingung etwas anders aussieht.
 

sascha123

Mitglied
hm...
sorry, aber das ist echt noch ein kleines bißchen zu hoch für mich. bin wirklich ganz blutiger anfänger! da muss ich wohl bei deiner denksportaufgabe passen. also irgendwie ( weil du ja geschrieben hast "noch ne if...else...Bedingung) muss da ja noch was rein, was überprüft, ob der aktuelle buchstabe (args.charAt(c) ) schon einmal vorgekommen ist. wenn ja, dann wird ch an dieser stelle um eins erhöht, und wenn nicht, muss man wieder in die innere for-schleife bzw. in die äußere, falls das wort zu ende ist?! wäre nett, wenn du mir das noch schreiben und erklären könntest
 

mic_checker

Top Contributor
Also was musst du dadrin überprüfen?

Theoretisch wäre es möglich das z.B. Satzzeichen etc. drin vorkommen.

Also schaust du nach ob der Buchstabe zwischen a ... z , bzw. A...Z liegt.

Könnte dann in etwa so aussehen:

Code:
		   if(ch >= 65 && ch <= 90)
			   iField[ch % 65]++;
		   else if(ch >= 97 && ch <= 122)
			   iField[ch % 97]++;
 

sascha123

Mitglied
vielen vielen dank für die hilfe mic_checker.
klappt wunderbar, bis auf eine kleinigkeit.
würde das gerne noch so abwandeln, dass die buchstaben,
die überhaupt nicht vorkommen, auch am ende nicht ausgegeben werden. das hab ich allerdings leider noch nicht erreicht. auf jeden fall, danke für deine hilfe!!!
sascha
 

mic_checker

Top Contributor
Code:
		for(int i = 0;i < iField.length;i++)
			if(iField[i] > 0)
				System.out.println((char)(i+65) + " = "+iField[i]+" mal");

Erklärung: Wenn ein best. Buchstabe im Text auftaucht (Groß oder Klein), wird der entsp. Wert inkrementiert. Also nur schauen ob der Wert an der Stelle i vorher inkrementiert wurde....sprich ob er größer als 0 ist.
 

sascha123

Mitglied
ok, dann noch einmal vielen dank!
jetzt klappt alles wunderbar, wie ich`s haben wollte!!!
find ich cool, dass du dich mit für dich vielleicht lachhaften poblemen auseinander setzt. in ca. 4-5 jahren helf ich dir dann auch ma ;-)

gruß sascha
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
I In unterschiedlichen Applikation Zugriff auf eine gemeinsame Anwendung? Java Basics - Anfänger-Themen 8
C Zugriff auf Methode Java Basics - Anfänger-Themen 2
I Applikationsserver (WildFly) - Zugriff auf Ressourcen.. Problem mit Pfade Java Basics - Anfänger-Themen 10
J Zugriff auf eine 2. Klasse die per UI-Designer erstellt wurde Java Basics - Anfänger-Themen 1
Encera Zugriff auf Map-Objekte Java Basics - Anfänger-Themen 3
T Zugriff auf Control anderer Klasse Java Basics - Anfänger-Themen 5
W Unterschiede bei Zugriff auf Objekt und Klassenvariablen über einen Getter? Java Basics - Anfänger-Themen 2
EchtKeineAhnungManchmal hallo habe ein Problem mit einer Datei -> (Zugriff verweigert) Java Basics - Anfänger-Themen 4
R TreeSet Zugriff aus anderer Klasse Java Basics - Anfänger-Themen 8
C Kein Zugriff auf Klassenmethoden in Main Methode Java Basics - Anfänger-Themen 23
H Zugriff verweigert Java Basics - Anfänger-Themen 5
moiss002 Umgebungsvariable Kein Zugriff auf ein Array Java Basics - Anfänger-Themen 7
B Probleme mit Zugriff auf Dateisystem Windows 10 ( jFileChooser) Java Basics - Anfänger-Themen 17
B Zugriffsmodifier, Zugriff außerhalb Package Java Basics - Anfänger-Themen 5
C Zugriff auf Attribut von Oberklasse Java Basics - Anfänger-Themen 8
P Klasse hat keinen Zugriff auf getter/setter-Methoden eines Objektes Java Basics - Anfänger-Themen 9
B Methoden Methoden haben kein Zugriff auf variablen Java Basics - Anfänger-Themen 4
M Gettter/Setter Methoden Klassenfelder kapselung und zugriff? Java Basics - Anfänger-Themen 1
S Zugriff auf protected Fields = guter Programmierstil? Java Basics - Anfänger-Themen 11
M Pfadprobleme - Zugriff auf einen Ordner im Workspace Java Basics - Anfänger-Themen 17
ruutaiokwu Bluetooth-Zugriff, braucht es dazu plattformabhängige Libraries oder kann das Java mittlerweile selbst? Java Basics - Anfänger-Themen 10
R Zugriff auf den Index eines Arrays, welches ein Objekt ist. Java Basics - Anfänger-Themen 4
M Zugriff auf eine ArrayList in einer anderen Klasse Java Basics - Anfänger-Themen 4
P Zugriff auf Variablen anderer Klassen in Greenfoot Java Basics - Anfänger-Themen 1
L Methoden Zugriff <identifier> expected Java Basics - Anfänger-Themen 13
T Java - Zugriff nur mit CLASSPATH ? Java Basics - Anfänger-Themen 7
B Klassen Zugriff auf ein Objekt einer Klasse aus einer Methode heraus Java Basics - Anfänger-Themen 4
L Zugriff auf Attribute eins Objekts über ActionListener Java Basics - Anfänger-Themen 4
D Zugriff auf Methode einer anderen Klasse Java Basics - Anfänger-Themen 5
S Zugriff auf Objekt Java Basics - Anfänger-Themen 5
A Klassen Zugriff auf Instanzen Java Basics - Anfänger-Themen 2
N ArrayList in eigener Klasse erzeugen mit Zugriff Java Basics - Anfänger-Themen 7
J Zugriff auf Variable in anderem Programm Java Basics - Anfänger-Themen 5
Q Zugriff auf Attribute Java Basics - Anfänger-Themen 3
J Klassen Zugriff auf ein "String Array" Java Basics - Anfänger-Themen 6
H Datentypen ArrayList in ArrayList: Zugriff Java Basics - Anfänger-Themen 6
J get methoden zugriff und objekt erzeugung Java Basics - Anfänger-Themen 30
J Datenbank Zugriff Java Basics - Anfänger-Themen 24
T Zugriff auf JCheckBox Java Basics - Anfänger-Themen 8
E Netzlaufwerk Zugriff schlägt fehl Java Basics - Anfänger-Themen 11
C Group, Actor und Instanz-Zugriff, LibGDX Java Basics - Anfänger-Themen 4
S Zugriff auf Attribut einer unbekannten Klasse erhalten Java Basics - Anfänger-Themen 6
R Methoden Methode der GUI-Klasse Zugriff auf Methoden der Hauptklasse Java Basics - Anfänger-Themen 9
S Vererbung Zugriff auf die Basisklasse einer "zweiten" Erweiterungsklasse Java Basics - Anfänger-Themen 2
Z Threads Threads - Zugriff auf Ressourcen ohne(Lock, Synchronized) Java Basics - Anfänger-Themen 2
S Vererbung Zugriff auf Methode funktioniert nicht (static/non-static) Java Basics - Anfänger-Themen 3
F Klassen Zugriff auf verschachtelte Objekte Java Basics - Anfänger-Themen 11
J Sichtbarkeit und Zugriff Java Basics - Anfänger-Themen 9
G Wieviel kostet der Zugriff auf Objektattribute im Vergleich zur Erstellung von vars in Methode? Java Basics - Anfänger-Themen 11
L Zugriff auf zwei Java-Quellcodes Java Basics - Anfänger-Themen 3
A OOP Zugriff auf Objekte von außen Java Basics - Anfänger-Themen 8
M Kapselung Datenkapselung Sinn direkter Zugriff? Java Basics - Anfänger-Themen 1
G Methoden Zugriff auf Methode.. aus einer anderen Klasse Java Basics - Anfänger-Themen 6
J JDialog Zugriff auf parent JDialog Java Basics - Anfänger-Themen 5
K Collections Zugriff auf ein bestimmtes Element in der Collection Java Basics - Anfänger-Themen 1
K ArrayList in Konstruktor - wie späterer Zugriff Java Basics - Anfänger-Themen 2
F Zugriff auf Objekt einer anderen Klasse Java Basics - Anfänger-Themen 7
P Zugriff auf Felder in ArrayList Objekten Java Basics - Anfänger-Themen 2
J Erste Schritte Zugriff auf Eigenschaft Java Basics - Anfänger-Themen 2
M MVC - Problem mit Zugriff auf Objekt Java Basics - Anfänger-Themen 4
D Zugriff auf von einer anderen Klasse erstellten Objekten Java Basics - Anfänger-Themen 5
C 5 - Zugriff verweigert Java Basics - Anfänger-Themen 1
K Zugriff auf Variabeln Wert einer Instanz Java Basics - Anfänger-Themen 4
A Methoden Zugriff auf eingelesene Variablen in der main Methode (ohne Änderung der Parameterliste) Java Basics - Anfänger-Themen 4
Z Methoden Zugriff mit Klasse 3 auf Methode von Klasse 2 welche in Klasse 1 erzeugt wird Java Basics - Anfänger-Themen 6
Z Zugriff auf andere Methoden Java Basics - Anfänger-Themen 12
Z Zugriff auf Pakete Java Basics - Anfänger-Themen 5
G Zugriff zwischen Klassen Java Basics - Anfänger-Themen 15
N Problem mit Swing Textfeld und Zugriff aus anderer Klasse Java Basics - Anfänger-Themen 6
H Kein Zugriff auf das Element einer JList möglich: Fehlermeldung Java Basics - Anfänger-Themen 2
W OOP Zugriff auf mit Objekt erstellte Struktur Java Basics - Anfänger-Themen 7
F Klassen Zugriff auf Fenster aus versch. Klassen Java Basics - Anfänger-Themen 5
M Variablen Zugriff von außerhalb eines Blockes auf eine Variable innerhalb eines Blockes Java Basics - Anfänger-Themen 2
U Methoden Zugriff auf Array von weiterer Methode einer Klasse, Rückgabewert Problem Java Basics - Anfänger-Themen 5
B Klassen Zugriff auf Daten der Child-Klasse Java Basics - Anfänger-Themen 9
W Typisierte ArrayList und der Zugriff auf den Typ Java Basics - Anfänger-Themen 5
M Zugriff auf Klasse Java Basics - Anfänger-Themen 2
K Zugriff auf C: Java Basics - Anfänger-Themen 5
S Das richtige Format für den SOAP Zugriff Java Basics - Anfänger-Themen 0
S Klassen Zugriff auf Attribute einer zweiten Klasse, welche durch dritte gesettet wurden? Java Basics - Anfänger-Themen 2
N Zugriff bei Package Struktur Java Basics - Anfänger-Themen 6
M Enum: Zugriff auf Konstanten Java Basics - Anfänger-Themen 7
V Zugriff auf jProgressbar Java Basics - Anfänger-Themen 10
B Zugriff auf csv-Datei per hashmap Java Basics - Anfänger-Themen 5
G Spalte in JTable unsichtbar machen, Zugriff auf Daten ermöglichen Java Basics - Anfänger-Themen 2
T ZUgriff auf 'Werte' Java Basics - Anfänger-Themen 3
J Vererbung Zugriff auf private Variable Java Basics - Anfänger-Themen 10
C Klassen Zugriff auf Objekt anderer Klasse Java Basics - Anfänger-Themen 8
B Methoden Zugriff auf Variable ermöglichen Java Basics - Anfänger-Themen 3
M Zugriff auf Arraylist Java Basics - Anfänger-Themen 7
D Kein Zugriff auf JFrame Java Basics - Anfänger-Themen 2
K Zugriff einer Klasse auf eine andere Andere -> bad operand for binary operator Java Basics - Anfänger-Themen 5
B Erste Schritte Array-Zugriff Java Basics - Anfänger-Themen 10
D OOP Zugriff auf Objekte A in Klasse A aus Objekt B in Klasse B Java Basics - Anfänger-Themen 3
T Collections Zugriff auf Elemente aus Iterator() Schleife Java Basics - Anfänger-Themen 4
J Threads Zugriff auf Attribute Java Basics - Anfänger-Themen 16
N Kein Zugriff auf Ordner -> NullPointerException Java Basics - Anfänger-Themen 2
I kein zugriff auf jList oder Textfield Java Basics - Anfänger-Themen 2
N Problem bei Zugriff auf Textfelder Java Basics - Anfänger-Themen 6
LittleJavaCup Zugriff auf Klasse von package Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben