|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: May 2015
Messaggi: 26
|
[JAVA] Metodo equals
Salve, sul libro fa questo esempio per usare il metodo equals:
Codice HTML:
class Quadrilatero {
int latoA;
int latoB;
int latoC;
int latoD;
public Quadrilatero(int a, int b, int c, int d) {
latoA = a;
latoB = b;
latoC = c;
latoD = d;
}
public int getLato(int i) {
switch (i) {
case 0:
return latoA;
break;
case 1:
return latoB;
break;
case 2:
return latoC;
break;
case 3:
return latoD;
break;
}
boolean equals(Object o) {
Quadrilatero q = (Quadrilatero) o;
if (getLato(0) == q.getLato(0) && getLato(1) == q.getLato(1) && getLato(2) == q.getLato(2) && getLato(3) == q.getLato(3)) return true;
else {
return false;
}
}
}
public static void main(String[] args) {
Quadrilatero uno = new Quadrilatero(1, 1, 1, 1);
Quadrilatero due = new Quadrilatero(1, 1, 1, 1);
System.out.println(uno.equals(q2));
}
}
|
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Feb 2009
Messaggi: 845
|
perché q2 (che passi come argomento ad equals) non esiste
|
|
|
|
|
|
#3 |
|
Junior Member
Iscritto dal: May 2015
Messaggi: 26
|
|
|
|
|
|
|
#4 | |
|
Member
Iscritto dal: Dec 2004
Città: Una palla di fango abitata da scimmie sognatrici
Messaggi: 128
|
Quote:
__________________
"Contro la stupidità gli stessi dei lottano invano" Friedrich Schiller "Chi rinuncia alla libertà per raggiungere la sicurezza non merita né la libertà né la sicurezza" Benjamin Franklin "Guardati dalla furia di un uomo tranquillo" John Dryden |
|
|
|
|
|
|
#5 | |
|
Junior Member
Iscritto dal: May 2015
Messaggi: 26
|
Quote:
Codice HTML:
class Quadrilatero {
int latoA;
int latoB;
int latoC;
int latoD;
public Quadrilatero(int a, int b, int c, int d) {
latoA = a;
latoB = b;
latoC = c;
latoD = d;
}
public int getLato(int i) {
switch (i) {
case 0:
return latoA;
break;
case 1:
return latoB;
break;
case 2:
return latoC;
break;
case 3:
return latoD;
break;
}
}
boolean equals(Object o) {
Quadrilatero q = (Quadrilatero) o;
if (getLato(0) == q.getLato(0) && getLato(1) == q.getLato(1) && getLato(2) == q.getLato(2) && getLato(3) == q.getLato(3)) return true;
else {
return false;
}
}
public static void main(String[] args) {
Quadrilatero uno = new Quadrilatero(1, 1, 1, 1);
Quadrilatero due = new Quadrilatero(1, 1, 1, 1);
System.out.println(uno.equals(due));
}
}
|
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Nov 2005
Messaggi: 2787
|
Sì ma leggi l'errore: "attempting to assign weaker access privileges; was public"
E' chiaro che il metodo deve essere public. |
|
|
|
|
|
#7 | |
|
Junior Member
Iscritto dal: May 2015
Messaggi: 26
|
Quote:
Codice HTML:
class Quadrilatero {
int latoA;
int latoB;
int latoC;
int latoD;
public Quadrilatero(int a, int b, int c, int d) {
latoA = a;
latoB = b;
latoC = c;
latoD = d;
}
public int getLato(int i) {
switch (i) {
case 0:
return latoA;
case 1:
return latoB;
case 2:
return latoC;
case 3:
return latoD;
}
}
public boolean equals(Object o) {
Quadrilatero q = (Quadrilatero) o;
if (getLato(0) == q.getLato(0) && getLato(1) == q.getLato(1) && getLato(2) == q.getLato(2) && getLato(3) == q.getLato(3)) return true;
else {
return false;
}
}
public static void main(String[] args) {
Quadrilatero uno = new Quadrilatero(1, 1, 1, 1);
Quadrilatero due = new Quadrilatero(1, 1, 1, 1);
System.out.println(uno.equals(due));
}
}
![]() Ma alla riga 27, la } ci deve stare per chiudere il metodo getLato. |
|
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Nov 2005
Messaggi: 2787
|
Questo perché non hai messo un case default. Se ad esempio richiami getLato(5) cosa deve succedere?
|
|
|
|
|
|
#9 | |
|
Junior Member
Iscritto dal: May 2015
Messaggi: 26
|
Quote:
Codice HTML:
class Quadrilatero {
int latoA;
int latoB;
int latoC;
int latoD;
public Quadrilatero(int a, int b, int c, int d) {
latoA = a;
latoB = b;
latoC = c;
latoD = d;
}
public int getLato(int i) {
switch (i) {
case 0:
return latoA;
case 1:
return latoB;
case 2:
return latoC;
case 3:
return latoD;
default:
return 0;
}
}
public boolean equals(Object o) {
Quadrilatero q = (Quadrilatero) o;
if (getLato(0) == q.getLato(0) && getLato(1) == q.getLato(1) && getLato(2) == q.getLato(2) && getLato(3) == q.getLato(3)) return true;
else {
return false;
}
}
public static void main(String[] args) {
Quadrilatero uno = new Quadrilatero(1, 1, 1, 1);
Quadrilatero due = new Quadrilatero(1, 1, 1, 1);
System.out.println(uno.equals(due));
}
}
|
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 17:04.




















