
Originariamente inviata da
LeleFT
Posta il codice, così capiamo.
L'errore dell'oggetto, come hai già avuto modo di vedere, è dovuto al fatto che hai dichiarato una classe "figure" dentro ad una classe con lo stesso nome.
PS: I nomi delle classi andrebbero con la lettera maiuscola.
Ciao.

sisi quello dei nomi delle classi lo so
ora posto il codice :
FIGURE
codice:
package figureGeometriche;
import figureGeometriche.Cerchio;
import figureGeometriche.Quadrato;
import figureGeometriche.Rettangolo;
import figureGeometriche.Figura;
publicclassFigure {
publicstaticdoublesommaPerimetri(Figura[] f) {
doubles=0;
for (int i=0; i<f.length; i++)
s += f[i].perimetro();
returns;
}
publicstaticFigurafigMaxArea(Figura[] f) {
doublem=0; Figurafm=null;
for (int i=0; i<f.length; i++)
if (f[i].area()>m) {
m = f[i].area(); fm = f[i];
}
returnfm;
}
publicstaticvoidstampaFigurePrimoQuadrante(Figura[] f) {
for (int i=0; i<f.length; i++)
if ((f[i].getX()>=0)&&(f[i].getY()>=0))
System.out.println(f[i]);
}
publicstaticvoidstampaRettangoli(Figura[] f) {
doublem=0; Figurafm=null;
for (int i=0; i<f.length; i++)
if (Rettangolo.class.isInstance(f[i]))
System.out.println(f[i]);
}
publicstaticvoidstampaRettangoliMaNonQuadrati(Figura[] f) {
doublem=0; Figurafm=null;
for (int i=0; i<f.length; i++)
if (Rettangolo.class.equals(f[i].getClass()))
// oppure if (f[i].getClass().getName().equals("Rettangolo"))
System.out.println(f[i]);
}
}
FIGURA
codice:
package figureGeometriche;
import figureGeometriche.Figure;
import figureGeometriche.Cerchio;
import figureGeometriche.Quadrato;
import figureGeometriche.Rettangolo;
abstractclassFigura {
public Figura() {};
protecteddoublex,y;
publicFigura(doublex, doubley)
{
this.x=x;
this.y=y;
}
publicdoublegetX() {
returnx;
}
publicdoublegetY() {
returny;
}
abstractpublicdoubleperimetro();
abstractpublicdoublearea();
}