Gå til innhold

Anbefalte innlegg

Skrevet (endret)

Prøver å lese inn variabler fra en fil her. Koden jeg forsøker meg på er som følger:

 

        In innfil = new In("filnavn");

        a = innfil.inInt();

        b = innfil.inInt();

        c = innfil.inInt();

        d = innfil.inInt();

        e = innfil.inInt();

        f = innfil.inInt();

        g = innfil.inInt();

        h = innfil.inInt();

            while(!innfil.lastItem()) {

                int g = innfil.inInt(":");

                char abc = innfil.inChar(":");

                int i = (int) (abc - 'A');

                String n = innfil.inWord(":");

                int s = innfil.inInt(":");

                innfil.inLine();

            } // end while

        innfil.close();

  

 

Filen er av dette formatet:

0

0

0

0

0

0

0

0

1:B:Hans Hansen:8000.0

2:F:Nils Nilsen:8000.0

4:D:Frank Frankplass:8000.0

3:......[Osv, osv....]

 

Når jeg prøver å lese inn dette med koden over får jeg denne feilmeldingen:

Feil: Ved lesing av et heltall, linje 17: leste "

1".

Programmet avsluttes.

 

Edit: Når jeg kommenterer ut hele while-løkken, fungerer koden. Feilen ligger altså et sted i while-løkken hvis jeg ikke tar feil.

Endret av sveioen
Videoannonse
Annonse
Skrevet

Dette er dradd helt ut av sin sammenheng, og når du ikke tar med hele innfilen, hvordan skal jeg da kunne gjette meg til hva som skjer på linje 17?

 

Werner

Skrevet

Træla med det samme tullet i sted. Fant tilslutt en litt stygg løsning på problemet.

Til meg var det hvertfall altid siste int s=innfil.inInt(":"); jeg fikk problemer med, så jeg satte:

char fjern=innfil.inChar();//for å fjerne det som står foran int s

int s=innfil.inInt();//uten ":" siden det du da får " foran det du egentlig skal ha

 

Vet ikke om dette hjelper deg, men er verdt ett forsøk. Hjalp hvertfall på min.

Hvis noen andre vet om noen litt penere metoder for å fikse det vil også jeg ha det, siden den char variablen ble STYGT!

Skrevet

bruk skipWhite() før inInt() kallene for å fjerne blanke tegn.

 

(Du burde oppgi at du bruker easyIO når du spør her, det er ikke den vanlige måten å lese fra fil/konsoll på)

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...