in origine la classe studente era private, ed anche 'matricola', mentre i metodi setter e getter erano pubblici, lo ho cambiati in static per provare, dato che il compilatore (eclipse in ambiente linux) mi diceva che il metodo Studente.setmatricola(); non poteva operare su un metodo non static.
Comunque ora ho apportato alcuni cambiamenti, ma mi da un errore sulla chiamate del costruttore:
codice:
public class Principale {
	
	public static void main(String[] args) {
		
		public Studente();  /* questo è l'errore: Syntax error, insert "EnumBody" to complete BlockStatements */
		
		System.out.println("Se sei uno studente premi 0 \n Se sei un docente premi 1 \n");
		int x;
		x = Read.readInt();
		
		if(x==0){
			
		
		
		String h;	
		h = Read.readString();
		Studente.setmatricola(h);
		}if(x==1){
			System.out.println("guardia di merda");
		}else{
			System.out.println("o 0 o 1 scemo");
		}
	}
}
questa è la classe Studente modificata:
codice:
public class Studente {
	
	public String matricola;
	
	public Studente( String h ){
		matricola = h;
	}
	public void setmatricola(String j){
		matricola=j;
	}
	public String getmatricola(){
		return matricola;
	}
}
Grazie ancora per l'aiuto