MasterDany
13-04-2008, 13:29
Ciao a tutti ho cercato di scrivere un programma che calcola la distanza fra que punti.Quando compilto il file TestGiometrico.java mi dice:
C:\Documents and Settings\Computer\workspace\Incapsulamento\src>javac TestGeomet
rico.java
TestGeometrico.java:17: cannot find symbol
symbol : method dammiDistanza(Punto)
location: class Punto
System.out.println("i punti distano" + p1.dammiDistanza(p2));
^
1 error
Ecco i codice dei file:
Punto.java
public class Punto {
private int x,y;
public Punto(){
//costruttore senza parametri
}
public Punto(int x,int y){
this.setXY(x,y);
}
public void setX(int x){
this.x=x;
}
public void setY(int y){
this.y=y;
}
public void setXY(int x,int y){
this.setX(x);
this.setY(y);
}
public int getX(){
return this.x;
}
public int getY(){
return this.y;
}
}
Punto3D.java
public class Punto3D extends Punto{
private int z;
public Punto3D(){
}
public Punto3D(int x,int y,int z){
this.setXYZ(x,y,z);
}
public void setZ(int z){
this.z=z;
}
public void setXYZ(int x,int y,int z){
this.setXY(x,y);
this.setZ(z);
}
public int getZ(){
return this.z;
}
public double dammiDistanza(Punto p){
if(p instanceof Punto3D){
return this.calcolaDistanza((Punto3D)p);
}
else{
return -1;
}
}
private double calcolaDistanza(Punto3D p1){
int tmp1=(getX()-p1.getX())*(getX()-p1.getX());
int tmp2=(getY()-p1.getY())*(getY()-p1.getY());
int tmp3=(z-p1.z)*(z-p1.z);
return Math.sqrt(tmp1+tmp2+tmp3);
}
}
TestGeometrico.java
public class TestGeometrico {
public static void main(String args[]) {
int p1X=Integer.parseInt(args[0]);
int p1Y=Integer.parseInt(args[1]);
int p2X=Integer.parseInt(args[2]);
int p2Y=Integer.parseInt(args[3]);
Punto p1 = new Punto(p1X,p1Y);
Punto p2 = new Punto(p2X,p2Y);
System.out.println("i punti distano" + p1.dammiDistanza(p2));
}
}
Eclipse mi segnala errore qua:
dammiDistanza
Perchè?
Ecco l'errore di eclipse:
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
The method dammiDistanza(Punto) is undefined for the type Punto
at TestGeometrico.main(TestGeometrico.java:17)
Sono disperato
C:\Documents and Settings\Computer\workspace\Incapsulamento\src>javac TestGeomet
rico.java
TestGeometrico.java:17: cannot find symbol
symbol : method dammiDistanza(Punto)
location: class Punto
System.out.println("i punti distano" + p1.dammiDistanza(p2));
^
1 error
Ecco i codice dei file:
Punto.java
public class Punto {
private int x,y;
public Punto(){
//costruttore senza parametri
}
public Punto(int x,int y){
this.setXY(x,y);
}
public void setX(int x){
this.x=x;
}
public void setY(int y){
this.y=y;
}
public void setXY(int x,int y){
this.setX(x);
this.setY(y);
}
public int getX(){
return this.x;
}
public int getY(){
return this.y;
}
}
Punto3D.java
public class Punto3D extends Punto{
private int z;
public Punto3D(){
}
public Punto3D(int x,int y,int z){
this.setXYZ(x,y,z);
}
public void setZ(int z){
this.z=z;
}
public void setXYZ(int x,int y,int z){
this.setXY(x,y);
this.setZ(z);
}
public int getZ(){
return this.z;
}
public double dammiDistanza(Punto p){
if(p instanceof Punto3D){
return this.calcolaDistanza((Punto3D)p);
}
else{
return -1;
}
}
private double calcolaDistanza(Punto3D p1){
int tmp1=(getX()-p1.getX())*(getX()-p1.getX());
int tmp2=(getY()-p1.getY())*(getY()-p1.getY());
int tmp3=(z-p1.z)*(z-p1.z);
return Math.sqrt(tmp1+tmp2+tmp3);
}
}
TestGeometrico.java
public class TestGeometrico {
public static void main(String args[]) {
int p1X=Integer.parseInt(args[0]);
int p1Y=Integer.parseInt(args[1]);
int p2X=Integer.parseInt(args[2]);
int p2Y=Integer.parseInt(args[3]);
Punto p1 = new Punto(p1X,p1Y);
Punto p2 = new Punto(p2X,p2Y);
System.out.println("i punti distano" + p1.dammiDistanza(p2));
}
}
Eclipse mi segnala errore qua:
dammiDistanza
Perchè?
Ecco l'errore di eclipse:
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
The method dammiDistanza(Punto) is undefined for the type Punto
at TestGeometrico.main(TestGeometrico.java:17)
Sono disperato