L'esercizio "SafeInput"

[Esercizio] La classe Input lancia un'eccezione nei metodi readInt() e readDouble() se il dato fornito in input dall'utente non ha un formato corretto. Si chiede di scrivere una classe chiamata SafeInput che estende Input ed offre esattamente gli stessi metodi, ma in modo tale che non venga mai lanciata un'eccezione: se il dato in input non è corretto, il metodo richiede il dato all'utente fin quando necessario. Nella scrittura della nuova classe si chiede di sfruttare al meglio la classe Input esistente.