|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: May 2009
Messaggi: 274
|
[JAVA] Dubbi sui metodi
Dopo avervi rotto sugli array sono passato all'argomento successivo ed ecco un altro paio di dubbi che non sono riuscito a sbrogliare con il libro di testo consigliatomi dal prof (che è ovviamente l'autore e se non è chiaro lui a spiegare potete immaginare il libro
![]() Posto la consegna dell'esercizio e la mia soluzione. Ex: Scrivete un sottoprogramma pari che restituisce true se l'argomento è un numero pari e false se l'argomento è pari. Ok snocciolo quello che spero sia giusto. Per riconoscere che è pari basta prendere la variabile, porla con modulo 2 e resto 0. Condizione if senza else, tanto è un booleano il valore restituito per cui mi basta fare una selezione sola. Il codice che ho scritto è il seguente: Codice PHP:
Ho visto la soluzione a dire il vero e avrei dovuto scrivere Codice PHP:
La risposta del compilatore è però errata: Codice PHP:
![]() help ![]() |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Dichiari un metodo "pari" che restituisce un valore boolean.
Poco sorprentemente - e peraltro mi pare che tu questo l'abbia compreso - devi far restituire a quel metodo un boolean. Il punto è che non si tratta di restituire al più una volta ma di restituire sempre e comunque un boolean. Nel tuo codice: Codice:
public static boolean pari (int x) { if ( x % 2 == 0) return true; Dovresti dire: Codice:
public static boolean pari(int x) { if(x % 2 == 0) { return true; } else { return false; } } Codice:
public static boolean pari(int x) { return (x % 2 == 0); }
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
![]() |
![]() |
![]() |
#3 | |||
Member
Iscritto dal: May 2009
Messaggi: 274
|
Quote:
mmm ma essendo un booleano, se la condizione if viene falsificata, non viene restituito come il valore false e quindi rendendo di fatto l'else inutile? Quote:
Ma quindi, per un fatto forse di chiarezza o comunque brevità del codice, se c'è da far restituire il risultato di un'unica operazione conviene metterla direttamente come argomento del return? Dico in generale... Quote:
Quando io utilizzo un certo tipo per il metodo il tipo dell'argomento che viene fatto passare a quel metodo può essere diverso? Cioè come interagiscono i due? *edit*: forse ho capito. I tipi dei parametri che gli faccio passare possono essere diversi come nel caso proposto, ma il tipo del metodo dev'essere lo stesso del tipo del valore che voglio far risultare (con return). Giusto? E un'altra cosa, io faccio fatica a capire la differenza con le procedure...in questo caso ok il metodo mi deve restituire un valore. Se invece il tipo è void allora significa che è una procedura. Ho capito bene fino qui? Ma e cosa fa esattamente se non ritorna niente? |
|||
![]() |
![]() |
![]() |
#4 | |
Senior Member
Iscritto dal: Oct 2006
Città: milano
Messaggi: 1439
|
Quote:
|
|
![]() |
![]() |
![]() |
#5 | ||
Member
Iscritto dal: May 2009
Messaggi: 274
|
Quote:
Ma posso io passare al metodo parametri con tipo diverso? E se io per ragioni mie volessi comunque avere un risultato con un tipo diverso posso fare un cast esplicito nel corpo del metodo? Quote:
![]() Semplice però ![]() |
||
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 23:39.