/ Forside / Teknologi / Udvikling / Java / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java
#NavnPoint
molokyle 3688
Klaudi 855
strarup 740
Forvirret 660
gøgeungen 500
Teil 373
Stouenberg 360
vnc 360
pmbruun 341
10  mccracken 320
Definering af en funktion i Java, samt ret~
Fra : Kasper Johansen


Dato : 31-08-05 20:36

Hej gruppe.

Jeg er lige begyndt med Java, og prøver at definere en funktion, der skal
returnere data fra et Socket-object.

Jeg gør det således:


public void fgets(Socket clientsocket){
String inputLine;
BufferedReader in = new BufferedReader(new
InputStreamReader(clientsocket.getInputStream()));
return in.readLine());
}


Som jeg kan forstå det, er det ikke return jeg skal bruge?? Hvordan får jeg
helt præcist returneret data tilbage til kalderen af funktionen?


--
Mvh Kasper Johansen



 
 
Malte (31-08-2005)
Kommentar
Fra : Malte


Dato : 31-08-05 20:40

Kasper Johansen wrote:
> Hej gruppe.
>
> Jeg er lige begyndt med Java, og prøver at definere en funktion, der skal
> returnere data fra et Socket-object.
>
> Jeg gør det således:
>
>
> public void fgets(Socket clientsocket){
> String inputLine;
> BufferedReader in = new BufferedReader(new
> InputStreamReader(clientsocket.getInputStream()));
> return in.readLine());
> }
>
>
> Som jeg kan forstå det, er det ikke return jeg skal bruge?? Hvordan får jeg
> helt præcist returneret data tilbage til kalderen af funktionen?
>
>

F.eks:

public String fgets(Socket clientSocket) {

// processing goes here

String result = resultat_af_din in.readLine();

return result;

// eller blot return resultat_af_din in.readLine(); // hvis det ellers
bliver til en String.
}


Ideen er, at din metode ikke må være void. I stedet for 'void' bruger du
den datatype/object type, som du vil returnere.

Malte

Thorbjoern Ravn Ande~ (31-08-2005)
Kommentar
Fra : Thorbjoern Ravn Ande~


Dato : 31-08-05 20:45

"Kasper Johansen" <kasper@johansen.tdcadsl.dk> writes:

> public void fgets(Socket clientsocket){
> return in.readLine());
> }

Void-metoder kan ikke returnere noget. Prøv at returnere det du får
ud af in.readLine().

Har du fulgt "Java Tutorial"?
--
Thorbjørn Ravn Andersen
http://unixsnedkeren.dk/ravn/

Arne Vajhøj (31-08-2005)
Kommentar
Fra : Arne Vajhøj


Dato : 31-08-05 20:48

Kasper Johansen wrote:
> Jeg er lige begyndt med Java, og prøver at definere en funktion, der skal
> returnere data fra et Socket-object.
>
> Jeg gør det således:
>
> public void fgets(Socket clientsocket){
> String inputLine;
> BufferedReader in = new BufferedReader(new
> InputStreamReader(clientsocket.getInputStream()));
> return in.readLine());
> }
>
> Som jeg kan forstå det, er det ikke return jeg skal bruge?? Hvordan får jeg
> helt præcist returneret data tilbage til kalderen af funktionen?

Det kan du godt.

Men ikke når du har erklæret metoden til at returnere
void !

Arne

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408914
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste