Gå til innhold

Hjelp med i/o klassen...


Anbefalte innlegg

Hei folkens!

Jeg har nettop begynt med java og før det hadde jeg kun erfaring fra PHP. Det som har skjedd er at jeg har rotet meg bort i noe Input/Output greier som jeg ikke får til :)

 

Her er koden min...

 

import java.io.*;

public class detVarSomHelvete
{

public static InputStreamReader henter = new InputStreamReader(System.in);
public static BufferedReader leser = new BufferedReader(henter);    
   
public static void main(String[] args)
{
 
   try { String harLest = leser.ReadLine(); }
   catch (IOException io) { reportError(); }

}

}

 

detVarSomHelvete.java [12:1] cannot resolve symbol

symbol  : method ReadLine ()

location: class java.io.BufferedReader

    try { String harLest = leser.ReadLine(); }

                                ^

detVarSomHelvete.java [13:1] cannot resolve symbol

symbol  : method reportError ()

location: class detVarSomHelvete

    catch (IOException io) { reportError(); }

                             ^

2 errors

Errors compiling detVarSomHelvete.

 

Denne feilmeldingen sender kompilatoren meg når jeg forsøker å kjøre applikasjonen.

 

Kan noen fortelle meg hva som er galt med koden min? Gjerne så en amatør skjønner det ;)

Endret av fuzion
Lenke til kommentar
Videoannonse
Annonse
Her er koden min...

Fysj og fy! :p

 

Neida, var ikke så ille, men jeg tenkte jeg skulle være litt pedantisk her. Hvis jeg plukker på alt jeg ser av småting, så er det jo mulig du lærer mer. :)

 

går over til å quote med '>' -er, da det blir en del linjer her.

 

>import java.io.*;

>

>public class detVarSomHelvete

 

Etter Java naming conventions, så er det vanlig å starte klassenavn med store bokstaver, mens metoder og variabler begynner med små.

 

>{

Det er også standard å sette krøllparantes på samme linje som deklarasjonen. Altså "public class DetVarSomHelvete {".

 

>public static InputStreamReader henter = new InputStreamReader(System.in);

>public static BufferedReader leser = new BufferedReader(henter);    

 

Med mindre variablene virkelig har et forhold til _klassen_, og ikke en instans av denne, så bør de ikke være statiske.

Enten definerer du dem i main() og sender dem videre som parametre i funksjonskall, eller så lager du en instans av klassen og bruker denne.

(Men om det er meningen at flere instanser av klassen skal skrive til samme streams, så er det selvsagt greit å bruke statiske variabler.)

 

 

>public static void main(String[] args)

>{

>  

>    try { String harLest = leser.ReadLine(); }

>    catch (IOException io) { reportError(); }

>

>}

>

>}

 

Hårreisende formatering av koden igjen ;) Sjekk Code Conventions for the Java Programming Language hos Sun. :)

 

>detVarSomHelvete.java [12:1] cannot resolve symbol

>symbol  : method ReadLine ()

>location: class java.io.BufferedReader

>    try { String harLest = leser.ReadLine(); }

 

Kompilatoren finner ingen metode kalt ReadLine() i klassen java.io.BufferedReader. Prøv med readLine().

 

>detVarSomHelvete.java [13:1] cannot resolve symbol

>symbol  : method reportError ()

>location: class detVarSomHelvete

>    catch (IOException io) { reportError(); }

 

Kompilatoren finner ingen metod kalt reportError() i klassen detVarSomHelvete. Glemt å skrive denne? :)

 

 

>Denne feilmeldingen sender kompilatoren meg når jeg forsøker å kjøre >applikasjonen.

 

Kompilatoren kompilerer, mens det er jvm'en som kjører Java-programmer.

 

 

Det var alt jeg så, lykke til med Java. :)

Lenke til kommentar

Takker for godt og fyldig svar!

 

Dette hjalp MYE... Er klar over en del av navngivnings- og formateringsfeilene, men jeg brydde meg ikke særlig om det i denne omgang :D Som sagt... Har ganske fyldig erfaring fra JS og PHP. Men den funksjonen (readLine()) var jeg ikke klar over :)

 

Uansett.. Takk så inderlig mye! (Og jeg vet forresten av det er kompilatoren som kompilerer og jvm som kjører ;))

Lenke til kommentar

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å
×
×
  • Opprett ny...