# buchstaben zählen



## redrain (27. Okt 2010)

hallo
brauch mal hilfe um die zitierte aufgabe zu lösen


> Aufgabe 3:  Schreiben Sie ein Programm, das zählt, wie oft das Zeichen "a" in einem String w vorkommt.
> 
> Erzeugen Sie die Ausgabe des Programms in etwa folgender Weise:
> 
> ...




bisher habe ich das hier:

```
package stringverkettung;

import inout.*;
public class Zaehlen3
{


   public static void main(String[] args)
   {
       String w, b="";
       
       w= in.readString("Bitte String eingeben: ");
       
       int l=w.length(), c=0;
       //System.out.println("Der String ist"+l+"Stellen lang");
       
    for (int a=0; a<l; a++) 
    {
    b=w.substring(a,1);
    if(b.equals("a"))
    {
    	c++;
    }
   
   

   }
System.out.println(c);
}
}
```

funktioniert nur leider nicht ^^
hilfe 
danke


----------



## mariusbopp (27. Okt 2010)

guck mal hier bin auf vollgendes gestoßen es zählt die anzahl der wörter etwas umschreiben und dann müsstes es zu deiner aufgabe passen?!


----------



## eRaaaa (27. Okt 2010)

Mal doof gefragt: Musst du das so machen wie im Hinweis angedeutet? Das ist nämlich viel zu kompliziert meiner Ansicht nach, es gibt doch charAt(index) ?! Wozu jedes mal ein neuen String erzeugen, ist doch schwachsinn!


----------



## Sempah (27. Okt 2010)

```
String w = "atgaagtctt";
int anzahl = 0;
for (int i = 0; i < w.length(); i++) {
  if (w.charAt(i) == 'a') anzahl++;
}
System.out.println("Anzahl der Vorkommen von a: " + anzahl);
```


----------



## redrain (27. Okt 2010)

ja leider soll ich das machen wie im hinweis beschrieben^^

edit: mariusbopp mit dem link kann ich leider nichts anfangen
bin erst ganz neu auf dem gebiet java^^


----------



## MiDniGG (27. Okt 2010)

Dann als Hinweis. Der zweite int beim Substring steht für den EndIndex und nicht die Länge.


----------



## eRaaaa (27. Okt 2010)

redrain hat gesagt.:


> ja leider soll ich das machen wie im hinweis beschrieben^^



Oh man....Naja ok.
[c]b=w.substring(a,1);[/c]
der zweiter Parameter gibt den Endindex an, wenn du aber schon bei a=2 bist, z.B. würdest du von 2 bis 1 den Substring suchen, das macht natürlich keinen Sinn. Du willst ja einfach nur den nächsten Buchstaben nach a wissen. Vllt hilft dir das ja schon. Achja und auch mal in die Javadoc schauen:
String (Java Platform SE 6)


----------



## Sempah (27. Okt 2010)

Dann halt so:


```
String w = "atgaagtctt", temp;
int anzahl = 0;
for (int i = 0; i < w.length(); i++) {
  temp = w.substring(i, i+1);
  if (temp.equals("a")) anzahl++;
}
System.out.println("Anzahl der Vorkommen von a: " + anzahl);
```


----------



## redrain (27. Okt 2010)

vielen vielen dank 

endlich funktionierts^^


hier nochmal der gesamte code:


```
package stringverkettung;

import inout.*;
public class Zaehlen3
{


   public static void main(String[] args)
   {
       String w, b="";
       
       w= in.readString("Bitte String eingeben: ");
       
       int l=w.length(), c=0;

       
    for (int i=0; i<l; i++) 
    {
    b=w.substring(i,i+1);
    if(b.equals("a"))
    {
    	c++;
    }
   
   

   }
System.out.println(c);
}
}
```


----------

