Código:
Persona p = new Persona(String nombre,int edad); //Esto me dice que esta mal
Cuando inicializas una nueva instancia de alguna clase debes de pasar los valores necesarios, en tu caso estas pasandolos de forma incorrecta;
Código:
Persona p = new Persona("Luis", 20); //Forma correcta
String nombre = "Luis";
int edad = 20;
Persona otraPersona = new Persona(nombre, edad); //Otra forma tambien correcta
Código:
while(aqui no se que poner)
while evalua un booleano y dependiendo de su valor (true o false) ejecuta el codigo dentro de su bloque. Para salir del while simplemente asigna false a la variable que esta evaluando.
PD: Un buen libro de java; Como Programar en Java (Deitel & Deitel)