Avatar billede haken Nybegynder
19. marts 2002 - 18:28 Der er 5 kommentarer og
1 løsning

nybegynder

Jeg er igang med at lave et program der kan finde ud hvor mange komma'er og punktummer der er i en fil.
Mit problem er bare jeg kan ikke få det til at virke:-)
Jeg har lavet et der kan finde det på en string, men jeg kan ikke finde ud af det på en fil.
Min kode ser sådan her ud. Håber der er nogen der kan hjælpe.

import java.io.*;

public class KommaPunktum
{
    public static void main(String[] args) throws IOException
    {
        try
        {
            String filnavn = "filen.txt";
            FileReader fil = new FileReader(filnavn);
            int komma = 0;
            int punktum = 0;
            int position    = fil.indexOf(",");
            int position1 = fil.indexOf(".");

            while (pos != -1 || pos1 !=-1)
            {
                if (position != -1)
                {
                komma = komma + 1;
                position = fil.indexOf(",",position+1);
                }
                if (position1 != -1)
                {
                punktum = punktum + 1;
                position1 = fil.indexOf(".",position1+1);
                }
        }
        System.out.println("der er "+ komma +"komma og " + punktum + "punktum i filen "+ filnavn + ".");
        fil.close();
        }
            catch(IOException e)
        {
            System.out.println("Filen findes ikke.");
        }
    }
}
Avatar billede disky Nybegynder
19. marts 2002 - 23:42 #1
Jeg har lige rettet lidt i din routine

Men denne her virker som den skal

Spørg hvis du ikke er helt med på hvad jeg laver:

import java.io.*;

public class KommaPunktum
{
   
    public KommaPunktum()
    {
        try
        {
            String filnavn = "d:\\test\\filen.txt";
            BufferedReader fil = new BufferedReader(new FileReader(filnavn));
            int komma = 0;
            int punktum = 0;
            int position=0;
            int position1=0;
            String line;
           
            while( (line=fil.readLine())!=null) //læs en linie
            {
                komma+=count(line,',');  //tæl antal komma'er i denne linie
                punktum+=count(line,'.'); //tæl antal punktum'er i denne linie
            }
            System.out.println("der er "+ komma +"  komma og " + punktum + "  punktum i filen "+ filnavn + ".");
            fil.close();
        }
        catch(IOException e)
        {
            System.out.println("Filen findes ikke.");
        } 
    }
   
    public static void main(String[] args) throws IOException
    {
        new KommaPunktum();
    }
   
    public int count(String line,char ch)
    {
        int pos=-1; //da vi bruger +1 i indexOf
        int antal=0;
        while( (pos=line.indexOf(ch,pos+1))!=-1)
        {
            antal++;
        }
        return antal;
    }
}


testet på en fil med følgende indhold:

hej,med.dig,.
,,..,,...
Avatar billede steel Praktikant
20. marts 2002 - 14:56 #2
Goddam disky, arbejder du for eksperten.dk?  ;]
(Ekstremt mange besvarelser)
Avatar billede disky Nybegynder
20. marts 2002 - 20:48 #3
Nej det gør jeg ikke.

Jeg synes bare det er rart at kunne hjælpe andre mennesker med deres problemmer.

Tro mig for 15-20 år siden ville jeg havde elsket sådanne et sted da jeg selv måtte rode med det.
Avatar billede stofferb Nybegynder
20. marts 2002 - 23:22 #4
Jeg syn's i hvert det er ekstremt dejligt at der er så mange der svarer!!

Vi ville nok være rimelig meget lost hvis vi ikke kunne spørge her:-D
Avatar billede disky Nybegynder
11. april 2002 - 07:32 #5
tak for point :)
Avatar billede haken Nybegynder
12. april 2002 - 09:41 #6
Det var så lidt, undskyld det tog så lang tid.
Mange tak for hjælpen.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester