När du skriver Java-program finns det oundvikligen tillfällen när du måste ta itu med ingång du har lite information om . Om du har matat passerat in ditt program eller i en metod inom det och du måste se till att det är ett nummer som du kan använda metoderna för numeriska wrapper klasser . Dessa klasser ger metoder för att analysera strängar som taltyperna som kastar undantag om det passerade ingången inte är numeriskt . Genom att använda dessa metoder i samband med try och catch block du kan räkna ut vad slags ingångsvärde du sysslar med . Instruktioner
1
Skaffa en hänvisning till ingången värde du vill kontrollera . Beroende på ditt program kan du redan ha ingången lagras som en variabel . Följande exempelkod skapar ett prov sträng variabel att demonstrera tekniken : String input = " 9 " ,
här variabeln lagrar nummer nio som en sträng . Metoderna för att analysera antalet typer tar string parametrar så om din input inte är närvarande lagras som en sträng skapa en sträng för att inkludera det som i följande exempel : int myNumber = 6 ; String input = " " + myNumber ;
Sida 2
Skapa ett block försök kod för ditt nummer parsning processen . Ange följande konturerna av ett try-block : try { //parse här }
Inuti detta block kan du placera koden för att tolka din input . Om du programmerar in en Integrated Development Environment måste du inkludera ett try-block eller antalet parsning processen kommer att hindra ditt program från sammanställningen . Try-blocket är ett sätt att skydda din ansökan mot undantagen talformatändringar . Addera 3
Lägg ett catch-block i koden . Om koden i din try-blocket inte kasta ett undantag talformat , kommer behandlingen att hoppa direkt till catch-blocket . Lägg det efter try-blocket avslutas enligt följande : catch ( NumberFormatException NFE ) { System.out.println ( " Inte ett nummer : " + nfe.getMessage ( ) ) ; }
p Om ingången inte ett antal av innehållet i detta block kommer att utföra . Just nu innehåller en enkel utsignal uttalande till konsolen , men du kan lägga till din egen bearbetning i blocket .
4
Försök att tolka din inmatning som ett nummer . Siffer wrapper klasser kan du tolka strängar som olika numeriska typer inklusive heltal , dubbel precision, korta , långa och flyttal . Välj vilken klass som passar ditt program och skriv in den i blocket try . Följande exempelkod visar tekniken för heltal : int inputNum = Integer.parseInt ( input ) , System.out.println ( " är ett nummer : " + inputNum ) ;
p Om ingången är ett antal den andra raden kommer att utföra och koden kommer att ignorera catch-blocket . Om ingången är inte ett nummer i raden efter parse försöket inte kommer att köra som bearbetning kommer omedelbart flytta till catch-blocket .
5
Spara dina Java -filer , kompilera och köra programmet . Testa det genom att ändra värdet på den ursprungliga ingången variabeln som i följande exempel kod : String input = " p ";
Detta gör att programmet för att kasta ett undantag och innehållet i catch-blocket kommer att utföra . Inom blocket try in koden du vill köra när ingången är ett nummer . Inom catch-blocket in koden du vill köra om det inte . Addera