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