Avatar billede kajak0303 Nybegynder
29. oktober 2012 - 20:40 Der er 3 kommentarer og
1 løsning

Java-begynder

Jeg er ved at prøve at lære mig lidt javaprogrammering. Jeg følger http://javabog.dk/OOP/kapitel3.jsp basal programmering opgave 3.4.6.og synes det er spændende.
Jeg skal i en opgave lave et program der tæller antal mellemrum i en tekst. Jeg har skrevet følgende, men når jeg kører den ser den ud til at køre i ring og ikke stoppe. Kan nogen hjælpe?

public class antal_mellemrum {

    /**
    * @param args
    */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        String s1;
        int s2,a=0;
        s1 = "Hvor mange mellemrum er der her?";
        while (s1.length()>0)
            {
           
        s2=s1.indexOf(" ");
        s1=s1.substring(s2);
        System.out.println(s1);
        a=a+1;
            }
        System.out.println("der er"+a+"mellemrum");
    }

}
Avatar billede arne_v Ekspert
29. oktober 2012 - 21:10 #1
Prov og udskriv baade s1 og s2 i loekken, saa kan du nok se hvor det gaar galt.
Avatar billede kajak0303 Nybegynder
29. oktober 2012 - 21:42 #2
Tak Arne
Det tog lidt tid at forstå, men fint at jeg ikke bare fik svaret helt foræret.
Den kom til at se således ud, men kan det ikke gøres mere elegant end selv at skulle tælle antal bogstaver i sidste ord? (måske når jeg når lidt videre end kap. 3 :-))

String s1;
        int s2,a=0;
        s1 = "Hvor mange mellemrum er der her i teksten?";
        while (s1.length()>8)
            {
           
        s2=s1.indexOf(" ");
        s1=s1.substring(s2+1);
        a=a+1;
            }
        System.out.println("der er "+a+" mellemrum");
Avatar billede arne_v Ekspert
29. oktober 2012 - 22:03 #3
Det kan goeres meget bedre end den kode!
Avatar billede erikjacobsen Ekspert
29. oktober 2012 - 22:10 #4
Man må ikke skrive "8" i et program, på den måde du gør. Det er ikke generelt nok, som du selv er inde på. Hvad med at tænke på denne måde: så længe der er mellemrum i strengen, så tæl op, og fjern op til og med mellemrum fra strengen.

Der skal ikke mange ændringer til.
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