Pages: [1]   Go Down
Print
Author Topic: missing return statement }  (Read 1394 times)
0 Members e 1 Utente non registrato stanno visualizzando questa discussione.
Giovi89
Apprendista Forumista
**
Offline Offline

Posts: 273


« on: 15-12-2008, 00:01:13 »

Salve ragazzi,
metto il codice su un esercizio che chiede di creare la classe quadrato ma mi da questo errore ( missing return statement } ) nn capisco il motivo...aiutatatemi per favore!  ciao

class quadrato
{
   private float lato;
   
   public float cp()
        {
      lato = 4F;
      lato=lato * 4;
        }
   
   public float getcp()
   {
      return lato;
   }
   
   public float ca()
        {
      lato = 4F;
      lato= lato * lato;   
         }
      
   public float getca()
         {
      return lato;
         }
}

public class controllo
{
   public static void main (String[] args)
   {
      quadrato a = new quadrato();
      float y = a.cp();
       System.out.println("y vale "+y);
      float z = a.ca();
       System.out.println("z vale "+z);
   }
}
Logged
demiurgo84
Matricola
*
Offline Offline

Posts: 2



« Reply #1 on: 15-12-2008, 00:28:32 »

Quote
public float cp()
        {
      lato = 4F;
      lato=lato * 4;
        }

dovrebbe restituire un float... ma tu non stai restituendo nulla. Quindi lui ti avverte di aggiungere l'istruzione di return
Code:
public float cp()
        {
      lato = 4F;
      lato=lato * 4;
return lato;
        }
per esempio dovrebbe risolverti il problema, oppure più probabilmente, dovresti trasformare il metodo in maniera che non restituisca niente
Code:
public void cp()
        {
      lato = 4F;
      lato=lato * 4;
return lato;
        }
stessa cosa dicasi per il metodo ca()
« Last Edit: 15-12-2008, 00:30:09 by demiurgo84 » Logged
Giovi89
Apprendista Forumista
**
Offline Offline

Posts: 273


« Reply #2 on: 15-12-2008, 13:52:58 »

Grazie dell'intervento,
volevo sapere anche ma allora il return di getperimetro è inutile, se il metodo di prima nn restituisce nulla? Inoltre vorrei sapere se devo aggiungere anche il metodo costruttore? illuminatemi...perfavore..
Logged
MisteroLupo
Apprendista Forumista
**
Offline Offline

Posts: 273

Tra il dire e il fare c'è distanza di hamming 2.


« Reply #3 on: 15-12-2008, 16:20:03 »

Giusto, se il metodo è void non devi specificare nessuna return.
Java "ha" sempre un costruttore di default quindi non è obbligatorio fare un metodo costruttore. Se vuoi puoi aggiungerlo. Deve avere lo stesso nome della classe ovviamente, e nessun tipo restituito.

Comunque usalo il tag per il codice! Wink
Logged
Pages: [1]   Go Up
Print
Jump to: