Salve a tutti. Ho appena iniziato a programmare in Java, ma mi saltano fuori 4 errori in queste due classi..

E' un programmino che consente di ottenere l'IMC di una persona conoscendo peso, altezza ed età.

Persona.java

codice:
public class Persona
{
	public float imc;
	public int eta;
	public float peso;
	public float altezza;
	
    public Persona(int ett, float p, float h)
    {
    	eta = ett;
    	peso = p;
    	altezza = h;
    	imc = 0;
    }
    
    public void setPersona(int ett, float p, float h)
    {
    	eta = ett;
    	peso = p;
    	altezza = h;
    	imc = 0;
    }
    
    public float calcolaImc()
    {
    	imc = peso / (altezza * altezza);
    	return imc;
    }
    
    public void getMessaggio()
    {
		if(imc>50)
			System.out.println("Grave OBESITA'");
		else if(imc>40)
			System.out.println("Patologicamente OBESO");
		else if(imc>35)
			System.out.println("Gravemente OBESO");
		else if(imc>30)
			System.out.println("OBESO");
		else if(imc>25)
			System.out.println("SOVRAPPESO");
		else if(imc>18.5)
			System.out.println("REGOLARE");
		else if(imc>16)
			System.out.println("Magrezza");
		else
			System.out.println("Grave MAGREZZA");
    }
}
progPersona.java

codice:
import java.io.*;

public class progPersona
{
    public progPersona()
    {
    	InputStreamReader input = new InputStreamReader(System.in);
    	BufferedReader tastiera = new BufferedReader(input);
    
    	int ett;
    	float p;
    	float h;
    	int risp;
    	
    	System.out.println("Inserisci l'Eta': ");
    	try
    	{
    		String et = tastiera.readLine();
    		ett = Integer.valueOf(et).intValue();
    	}
    	catch(Exception e)
    	{
    		System.out.println("Reinserire Eta'");
    	}
    	
        	System.out.println("Inserisci il Peso: ");
    	try
    	{
    		String pe = tastiera.readLine();
    		p = Float.valueOf(pe).floatValue();
    	}
    	catch(Exception e)
    	{
    		System.out.println("Reinserire Peso");
    	}
    
        	System.out.println("Inserisci Altezza: ");
    	try
    	{
    		String al = tastiera.readLine();
    		h = Float.valueOf(al).floatValue();
    	}
    	catch(Exception e)
    	{
    		System.out.println("Reinserire Altezza");
    	}
    	
    	Persona p = new Persona(ett,p,h);
    	
    	System.out.println("INDICE DI MASSA CORPOREA (IMC):\n");
    	System.out.println("Eta':               -> " + ett);
    	System.out.println("IMC:                -> " + Persona.calcolaImc());
    	System.out.println("-------------------------------------------------------");
    	System.out.println("Situazione Peso:    -> " + Persona.getMessaggio());

    }
}


GLI ERRORI SONO:

codice:
--------------------Configuration: <Default>--------------------
C:\Users\Sergio\Desktop\Java\progPersona.java:48: p is already defined in progPersona()
        Persona p = new Persona(ett,p,h);
                ^
C:\Users\Sergio\Desktop\Java\progPersona.java:52: non-static method calcolaImc() cannot be referenced from a static context
        System.out.println("IMC:                -> " + Persona.calcolaImc());
                                                              ^
C:\Users\Sergio\Desktop\Java\progPersona.java:54: non-static method getMessaggio() cannot be referenced from a static context
        System.out.println("Situazione Peso:    -> " + Persona.getMessaggio());
                                                              ^
C:\Users\Sergio\Desktop\Java\progPersona.java:54: 'void' type not allowed here
        System.out.println("Situazione Peso:    -> " + Persona.getMessaggio());
                           ^
4 errors

Process completed.