您好我不知道如何解決我的問題,在哪裏是這裏! 有人說: 在類型設置的方法Add(Figura2D)不適用於參數(Rettangolo) 我嘗試這樣做:在類型Set <Figura2D>中的方法add(Figura2D)不適用於參數(Rettangolo)
package packAppello170919;
public class Figura2D {
private Object obj;
public Figura2D(){}
public Figura2D(Object figura){
if(figura instanceof Rettangolo){
obj= (Rettangolo)figura;
}//I do the same thing with another type of object(Cerchio)
}}}
Figura2D必須包含的Cerchio和Rettangolo,但我不知道如何做到這一點,我可以明顯修改主要,但我不能這樣做,因爲這是練習的測試 我把一塊代碼,因此你可以做測試。 謝謝
public static Set<Figura2D> generaSetFigure() {
Set<Figura2D> F = new HashSet<Figura2D>();
Punto p1 = new Punto(1,1);
Punto p2 = new Punto(2,2);
Punto p3 = new Punto(3,3);
Rettangolo r1 = new Rettangolo(p1,p2);
Rettangolo r2 = new Rettangolo(p1,p3);
Rettangolo r3 = new Rettangolo(p2,p3);
Cerchio c1 = new Cerchio(p1,1.0);
Cerchio c2 = new Cerchio(p1,2.0);
Cerchio c3 = new Cerchio(p3,1.0);
F.add(r1); F.add(r2); F.add(r3); //HERE!!!!
F.add(c1); F.add(c2); F.add(c3);
return F;
}
建議閱讀:關於類的[Oracle的Java教程](https://docs.oracle.com/javase/tutorial/java/javaOO/index.html)。 –
發生錯誤的代碼行可以按照以下方式重寫:F.add(new Figura2D(r1)); F.add(new Figura2D(r2)); F.add(new Figura2D(r3));' –