Angolo.java:
codice:
package pack;

public class Angolo {
	
	protected Double value;
	protected String type;
	
	public Angolo(Double n) {
		System.out.println("L'angolo inserito si presume in DEG");
		value = n;
		type = "deg";
	}
	
	public Angolo(Double n, String s){
		if (s.equalsIgnoreCase("d") || s.equalsIgnoreCase("deg")) {
		value = n;
		type = "deg";
		} else if (s.equalsIgnoreCase("r") || s.equalsIgnoreCase("rad")) {
		value = n;
		type = "rad";
		} else if (s.equalsIgnoreCase("g") || s.equalsIgnoreCase("gon")) {
		value = n;
		type = "gon";
		}
	}
	
	public static Double DegToRad(Double n) {
		// n:180 = value:pi_greco
		return n*java.lang.Math.PI/180;
	}
	
	public static Double DegToGon(Double n) {
		// n:180 = value:200
		return n*200/180;
	}
	
	public static Double RadToDeg(Double n) {
		// n:pi_greco = value:180
		return n*180/java.lang.Math.PI;
	}
	
	public static Double RadToGon(Double n) {
		// n:pi_greco = value:200
		return n*200/java.lang.Math.PI;
	}
	
	public static Double GonToDeg(Double n) {
		// n:200 = value:180
		return n*180/200;
	}
	
	public static Double GonToRad(Double n) {
		// n:200 = value:pi_greco
		return n*java.lang.Math.PI/200;
	}
	
	public void DegToRad() {
		// n:180 = value:pi_greco
		value = this.value*java.lang.Math.PI/180;
		type = "rad";
	}
	
	public void DegToGon() {
		// n:180 = value:200
		value = this.value*200/180;
		type = "gon";
	}
	
	public void RadToDeg() {
		// n:pi_greco = value:180
		value = this.value*180/java.lang.Math.PI;
		type = "deg";
	}
	
	public void RadToGon() {
		// n:pi_greco = value:200
		value = this.value*200/java.lang.Math.PI;
		type = "gon";
	}
	
	public void GonToDeg() {
		// n:200 = value:180
		value = this.value*180/200;
		type = "deg";
	}
	
	public void GonToRad() {
		// n:200 = value:pi_greco
		value = this.value*java.lang.Math.PI/200;
		type = "rad";
	}
	
	public String getType(){
		return this.type;
	}
	
	public Double getValue() {
		return this.value;
	}
	
	protected void setType(String s){
		if (s.equalsIgnoreCase("d") || s.equalsIgnoreCase("deg")) {
			type = "deg";
			} else if (s.equalsIgnoreCase("r") || s.equalsIgnoreCase("rad")) {
			type = "rad";
			} else if (s.equalsIgnoreCase("g") || s.equalsIgnoreCase("gon")) {
			type = "gon";
		}
	}
	
	protected void setValue(Double n){
		value = n;
	}
}
compilo e tutto ok...
Teta.java:
codice:
package pack;
import pack.Angolo;
import pack.Vertice;

public class Teta extends Angolo {
	
	public Teta (Double n, String s, Vertice v1, Vertice v2) {
		//si chiamerebbe teta_v1_v2
		if(n > 0){
			if (s.equalsIgnoreCase("d") || s.equalsIgnoreCase("deg")) {
			super.setValue(n);
			super.setType("deg");
			} else if (s.equalsIgnoreCase("r") || s.equalsIgnoreCase("rad")) {
			super.setValue(n);
			super.setType("rad");
			} else if (s.equalsIgnoreCase("g") || s.equalsIgnoreCase("gon")) {
			super.setValue(n);
			super.setType("gon");
			}
		} else {
			if (s.equalsIgnoreCase("d") || s.equalsIgnoreCase("deg")) {
			super.setValue(n+360);
			super.setType("deg");
			} else if (s.equalsIgnoreCase("r") || s.equalsIgnoreCase("rad")) {
			super.setValue(n+2*Math.PI);
			super.setType("rad");
			} else if (s.equalsIgnoreCase("g") || s.equalsIgnoreCase("gon")) {
			super.setValue(n+400);
			super.setType("gon");
			}
		}
		this.set_and_verify(this,v1,v2);
	}
	
	private void set_and_verify(Teta ang, Vertice v1, Vertice v2){
		if(v1.get_est() > v2.get_est()){
			if (ang.getType().equalsIgnoreCase("d") || ang.getType().equalsIgnoreCase("deg")) {
			ang.setValue(ang.getValue()+180);
			} else if (ang.getType().equalsIgnoreCase("r") || ang.getType().equalsIgnoreCase("rad")) {
			ang.setValue(ang.getValue()+Math.PI);
			} else if (ang.getType().equalsIgnoreCase("g") || ang.getType().equalsIgnoreCase("gon")) {
			ang.setValue(ang.getValue()+200);
			}
		}		
	}	
}
parovo a compilare ma mi da questo errore:
pack\Teta.java:7: cannot find symbol
symbol : constructor Angolo()
location: class pack.Angolo
public Teta (Double n, String s, Vertice v1, Vertice v2) {
^
1 error
si può sapere cosa sbaglio????