---
title: "Räkna antal a i en textsträng"
type: "forum-thread"
url: "https://www.webforum.nu/amne/java/53870-räkna-antal-a-i-en-textsträng"
topic: "Java"
topic_url: "https://www.webforum.nu/amne/java"
author: "Addeladde"
published: "2002-09-21T17:11:18.000Z"
updated: "2002-09-21T20:48:04.000Z"
replies: 10
views: 616
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/java/53870-räkna-antal-a-i-en-textsträng"
---

# Räkna antal a i en textsträng

## #1 — Addeladde, 2002-09-21T17:11Z

Hej hur gör jag för att räkna ut detta:

exempel:
Skriv in en textsträng: ahsahad
Skriv en ett tecken som ska räknas: a

Det finns 3 st a i textsträngen.

Permalänk: https://www.webforum.nu/p/53870

## #2 — Viktor, 2002-09-21T18:32Z

Så här tex

```php
String a="ahsahad";
int antal=0;
char find='a';
for(int i=0;i<a.length();i++)
  if(a.charAt(i)==find)
    antal++;
System.out.println("Det fanns "+antal+"st "+find);
```

/Viktor

Permalänk: https://www.webforum.nu/p/793676

## #3 — Addeladde, 2002-09-21T19:41Z

Jag hade igentligen lyckats göra den här lilla funktionen men problemet ligger i att när jag läser in en bokstav i variabeln find så läser jag in den med readLine och då får det typen String.
Det går inte att gämföra charAt med String.

Nu är frågan hur omvandlar jag String till char?

Permalänk: https://www.webforum.nu/p/793764

## #4 — Addeladde, 2002-09-21T19:47Z

Löste det själv.

```php
char find = bokstav.charAt(0);
```

Permalänk: https://www.webforum.nu/p/793766

## #5 — Viktor, 2002-09-21T19:48Z

Kan du lägga ut koden?
Har inte gjort konsol program på några år så jag kommer inte ihåg hur man skriver :)

/Viktor

Permalänk: https://www.webforum.nu/p/793767

## #6 — Addeladde, 2002-09-21T20:23Z

Här kommer den:
Om du undrar varför jag gör ett sådant här konstigt program så är det för att jag går en kurs och håller på med övningar.

```php
import java.io.*;

// Denna klass innehåller starten för lab3.
public class Lab3 {
    /* main() är (som alltid) klassmetoden som utgör startpunkten då
       programmet exekveras. */
    public static void main(String[] args) throws IOException {
	

	/* Deklarera en (lokal) variabel som kan hålla reda på en
	   bokstavspusslare. */
	Bokstavspusslare minPusslare;

	/* Skapa bokstavspusslaren med hjälp av klassen/mallen
	   Bokstavspusslare samt låt variabeln hålla reda på det
	   nyskapade objektet. */
	minPusslare = new Bokstavspusslare();
	
	Bokstavsräknare minBokstavsräknare;
    minBokstavsräknare = new Bokstavsräknare();
	// Låt pusslaren jobba...
	minPusslare.pussla();
	minPusslare.skrivVälkomsttext();
	minBokstavsräknare.räknaBokstav();
	minBokstavsräknare.räknaBokstav();
    minBokstavsräknare.skrivTotalAntal();
    
    } // main()
} // Lab3
	

/* Denna klass beskriver en bokstavspusslare.  Bokstavspusslaren
   kommer i sin tur att ta hjälp av en bokstavsräknare. */
class Bokstavspusslare {
      
    /* "indata" kan användas för att läsa från tangentbordet.  Den är
       en instansvariabel och kan därför användas av alla metoder i
       denna klass. */
    BufferedReader indata = 
	new BufferedReader(new InputStreamReader(System.in));
			   
    /* "utdata" kan också utnyttjas i alla metoder i denna klass. */
    PrintStream utdata = System.out;

    /* Håll reda på vem som kör programmet med hjälp av
       instansvariabeln som deklareras här. */
    String användarnamn;

    /* Håll reda på bokstavsräknaren med hjälp av instansvariabeln
       som deklareras här. */
    int bokstavsräkanre;
    

    // Låter denna bokstavspusslare pussla lite...
    public void pussla() throws IOException {	
	utdata.println("Börjar pussla...");
	utdata.println();

    taRedaPåNamnet();
  	
    
	// Fler satser kommer här...

    } // pussla()

    // Skriver ut en kort välkomsttext på skärmen.
    public void skrivVälkomsttext() {
	
	utdata.println("Välkommen " + användarnamn + "!");
    } // skrivVälkomsttext()

    // Fler metoder() kommer här...

    public void taRedaPåNamnet() throws IOException {	
    
    utdata.print("Vad heter du? ");
    användarnamn = indata.readLine();
    
    }

} // Bokstavspusslare

class Bokstavsräknare{
	
	
	PrintStream utdata = System.out;
	BufferedReader indata = 
	new BufferedReader(new InputStreamReader(System.in));
	
	
	int antal;
	int totalAntal = 0;
	
	
	public void räknaBokstav() throws IOException {
		char bokstav;
		String text;
		utdata.print("Skriv in en textstrang: ");
		text = indata.readLine();
		utdata.print("Skriv in en bokstav: ");
		String b = indata.readLine();
		int s = text.length();
		antal = 0;
		bokstav = b.charAt(0);
		for (int i = 0; i < s; ++i)
		if (text.charAt(i) == bokstav)
		antal++;
		totalAntal = totalAntal +antal;
		utdata.println(text + " innhåller " + antal + " st " + bokstav + "!");
	
	}
	public void skrivTotalAntal(){
		utdata.println("Totalt skrevs " + totalAntal + " tecken ut");
		
	

	}
	
	
}
```

Permalänk: https://www.webforum.nu/p/793800

## #7 — Viktor, 2002-09-21T20:27Z

Missade visst att du hade löst det :) Blev lite förvånad när det fungerade direkt :)

/Viktor

Permalänk: https://www.webforum.nu/p/793806

## #8 — Addeladde, 2002-09-21T20:29Z

Ok

Vet du förresten hur man kan få åäö att funka. Har läst trådarna här på webforum men inte fått det att funka

Permalänk: https://www.webforum.nu/p/793810

## #9 — Viktor, 2002-09-21T20:31Z

EDIT: Ser nu att det inte fungerar i utskriften från programmet.
EDIT2: Använd inte åäö i namn på funktioner och variabler.

Fungerar ganska bra för mig

```
Vad heter du? Öland Åland
Võlkommen Öland ?land!
Skriv in en textstrang: ÖÖÖäääÅÅÅ
Skriv in en bokstav: å
ÖÖÖäää??? innhÕller 0 st å!
Skriv in en textstrang: ååääöö
Skriv in en bokstav: f
ååääöö innhÕller 0 st f!
Totalt skrevs 0 tecken ut
```

Antar att du kör med Win98/ME som inte stödjer Unicode. Vet tyvärr inte hur man gör för att det ska fungera där.

/Viktor

Permalänk: https://www.webforum.nu/p/793817

## #10 — Addeladde, 2002-09-21T20:35Z

Jag kör win2000

Permalänk: https://www.webforum.nu/p/793821

## #11 — Addeladde, 2002-09-21T20:48Z

Det ska ju inte stå Võlkommen utan välkommen.
Det är det som jag vill komma till rätta med

Permalänk: https://www.webforum.nu/p/793834

---

Tråden på webben: https://www.webforum.nu/amne/java/53870-räkna-antal-a-i-en-textsträng
