Ödevin olduğu için doğrudan cevap vermek yerine şöyle bir tüyo vereyim:

Öncelikle bool bir değer tanımla. True ya da false olmak üzere 2 değer alabilirler.

boolean a = true;

şeklinde değişkenimizi tanımladık diyelim. Sonra, kullanıcı ile etkileşime geçtiğin kısımları da bu değer üzerinden döndür. Örneğin:
while(a) {
//System.out.. bla bla bla
...
...
...
}

Yani a değişkeni True olduğu sürece bunu yapmaya devam et dedik.
Fakat a değişkeni ile etkileşime geçmemiz gerekiyor ki, kullanıcıya bir seçim şansı sunabilelim. Bunun için en uygun yapı else if veya switch-case kullanarak gitmektir. Switch-case yapısı üzerinden gidelim.


String secimyap;
switch(secimyap) {
case "e":
a = true;
break;

case "h":
a = true;
break;

default:
System.out.print("Geçersiz giriş. E ya da H yazın.");
boolean tekraret = true;

while (tekraret) {
System.out.print("Tercih yap: e/h");
secimyap = giris.NextLine();

switch(a){
case "e":
a = tekraret = true;
break;

case "a":
a = tekraret = false;
break;
}
}
break;


Bir fikir vermesi amacı ile yazdım. Çok zorlanırsan özel mesaj kabul ediyorum.