Gå til innhold

Implementere Scanner fra en annen klasse ?


Anbefalte innlegg

Hei,

 

Jeg har nå bestemt meg for å ikke bruke pakken fra UiO som heter easyIO lenger. Skal nå bruke Scanner for å lese fra / skrive til fil og

fra tastaturet. Men har støtt på problemer med engang. Jeg driver nå å prøver å løse Oblig 1 i INF1010 hvor vi har fått utdelt et skjelett av programmet. I skjellettet har de brukt en klasse som heter IOHjelper som har metoder for å I/O, jeg sliter litt med å skjønne hvordan jeg skal lese fra tastatur og feks skrive ut det som er lest fra tastaturet....

 

Legger her bare koden til Terminallesingsmetoden.

 

class IOHjelper {

public static Sacnner terminalLeser() {

	return new Scanner(System.in);
}
}

// Det jeg prøver å gjøre for å få aksess til denne metoden fra en annen klasse er følgende 

IOHjelper hjelper = new IOHjelper();

String a = hjelper.terminalLeser(); ??

 

Jeg vet ikke om det er slik denne metoden skal implementeres ?

Lenke til kommentar
Videoannonse
Annonse

Du må implementere den slik:

 

IOHjelper hjelper = new IOHjelper();
Scanner a = hjelper.terminalLeser();

 

Dette fordi hjelper.terminalLeser() returnerer en Scanner som leser fra system.in, altså kommandovinduet ditt.

 

Er ganske greit å lære seg java.io hvis en ønsker det også. Spesielt til innlesing fra cmd er det veldig enkelt da eneste forskjellen fra easyIO som brukes på UiO er at du skriver Scanner in = new Scanner(System.in); så kan du bruke denne for å lese inn. Litt flere innlesningsfunksjoner i easyIO da, men ingenting så komplisert at en ikke kan gjøre det selv. Hvis du vil lære deg java.io er det jo faktisk en mulighet å laste ned easyIO sin kildekode og lære litt derfra. Er ikke store filene og veldig greie å lære seg.

Lenke til kommentar

Statiske metoder tilhører klassen, så i dette tilfellet trenger du ikke et objekt av type IOHjelper. Mitt forslag:

Scanner scanner = IOHjelper.terminalLeser();
String a = scanner.nextLine();

 

Forutsetter at IOHjelper-klassen er synlig fra klassen du kjører IOHjelper.terminalLeser() fra.

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...