Numberformatexception w Javie

Numberformatexception w Javie
Programiści w Javie często muszą pracować z wieloma rodzajami danych sformatowanych inaczej. Na przykład gromadzenie danych wygenerowanych lub zaszyfrowanych w kodzie. W takich sytuacjach radzenie sobie z „NumberFormatexception„W Javie wspomaga powstrzymywanie się od ograniczeń, tym samym usprawniając funkcje kodu na końcu dewelopera.

Ten blog będzie rozwinąć się w obliczu i radzenia sobie z „NumberFormatexception„W Javie.

Czym jest „NumberFormatexception” w Javie?

„„NumberFormatexception”Odpowiada wyjątkowi w Javie, gdy próba przekształcenia łańcucha o nieprawidłowym formacie w wartość liczbową. Konwersja odbywa się za pośrednictwem „parseint ()" metoda. Ta metoda pobiera prymitywny typ danych „Strunowy".

Składnia

parseint (x, y)

W tej składni:

  • "X”Odnosi się do reprezentacji ciągu dziesiętnego.
  • "y”Transformuje„X„W całkowitej liczbie całkowitej.

Idealny przypadek

Poniższy przykład wyjaśnia idealny scenariusz sprawy przekształcenia łańcucha w liczbę całkowitą bez ograniczeń:

int x = liczba całkowita.parseint („30”);
System.na zewnątrz.println („liczba całkowita to:”+x);

W powyższym kodzie zastosuj kroki poniżej modyfikowanych:

  • Najpierw określ typ „Liczba całkowita”, W którym wymagana jest pożądana konwersja.
  • Teraz zastosuj „parseint ()„Metoda analizowania określonego ciągu na liczbę całkowitą.
  • To da „liczba całkowita”Reprezentacja określonego ciągu.

Wyjście

W tym wyjściu można zaobserwować, że „liczba całkowita„Reprezentacja łańcucha jest odpowiednio pobierana.

Przyczyny skierowanego „Numberformatexception” w Javie

„„NumberFormatexception„W Javie można napotkać z wielu powodów. Przejdźmy przez każdy z powodów jeden po drugim.

Przypadek 1: pusty ciąg wejściowy

W takim przypadku omawiany wyjątek może być skierowany z powodu „pusty„Ciąg przeszedł jako„parseint ()„Parametr metody, który należy przekonwertować na liczbę całkowitą:

int x = liczba całkowita.parseint („”);
System.na zewnątrz.println (x);

Wyjście

Przypadek 2: NULL WEJŚCIA Ciąg

W tym scenariuszu wyjątek może być skierowany z powodu określonego „zero„Słowo kluczowe jako parametr metody:

int x = liczba całkowita.parseint (null);
System.na zewnątrz.println (x);

Wyjście

Notatka: Instrukcja wyjątku jest identyczna w obu powyższych przypadkach, ponieważ wartość jako parametr metody jest brany pod uwagę „zero".

Przypadek 3: ciąg wprowadzający z dodatkowymi symbolami

Uwzględnienie dodatkowych symboli do łańcucha może również skutkować omówionym wyjątkiem, w następujący sposób:

System.na zewnątrz.println (liczba całkowita.parseint („1,23”));

Wyjście

Przypadek 4: nie-numeryczny ciąg wejściowy

Nie-numeryczny ciąg, i.mi., "Trzydzieści pięć”W tym przypadku może również spowodować„NumberFormatexception" wystąpić:

int x = liczba całkowita.Parseint („trzydzieści pięć”);
System.na zewnątrz.println (x);

Wyjście

Przypadek 5: ciąg wejściowy przekracza zakres

Maksymalny limit dla „parseint ()„Metoda polega na gromadzeniu się”11" postacie. Zakres przekraczający tę liczbę może również wyświetlać omawiany błąd, jak to miało miejsce poniżej:

int x = liczba całkowita.Parseint („123452347684933”);
System.na zewnątrz.println (x);

Wyjście

Przypadek 6: String wejściowy z danymi alfanumerycznymi

W tej sytuacji podane ograniczenie może być skierowane z powodu zawartych alfabetów i liczb jednocześnie przekształcanych w liczbę całkowitą:

int x = liczba całkowita.Parseint („trzydzieści 1”);
System.na zewnątrz.println (x);

Wyjście

Przypadek 7: niedopasowany typ danych

Niedopasowanie w „powrót”Typ i określony„typ danych”Może również skutkować spotkaniem omówionego ograniczenia:

int x = liczba całkowita.parseint ("30.6 ”);
System.na zewnątrz.println (x);

Zauważ, że w tym przypadku typ zwracania to „Liczba całkowita,”Ale określony typ danych to„platforma", I.mi., 30.6.

Wyjście

Przypadek 8: String wejściowy z wyściełanymi białymi występami

Wyściełane białe listy na początku lub na końcu mogą być również powodem, dla którego można się napotkać:

int x = liczba całkowita.parseint („30”);
System.na zewnątrz.println (x);

Wyjście

Chodziło o granice w różnych scenariuszach. Omówmy teraz podejście do wyeliminowania omówionego ograniczenia.

Jak poradzić sobie z „NumberFormatexception” w Javie?

Omówione „NumberFormatexception„Ograniczenie Java można zaspokoić za pomocą„próbuj złapać”Oświadczenie, łapiąc wyjątek w„złapać" blok:

próbować
int x = liczba całkowita.parseint („30”);
System.na zewnątrz.println (x);

catch (numberformatexception e)
System.na zewnątrz.println („Wyjątkowy!");

System.na zewnątrz.println („Wznowienie wykonywania…”);

W tym fragmencie kodu zastosuj następujące kroki:

  • Najpierw określ „próbować”Blok/instrukcja.
  • W tym bloku dołącz typ powrotu, i.mi., "Liczba całkowita”I zastosuj„parseint ()„Metoda przekształcenia określonego ciągu w„liczba całkowita”I wyświetl to.
  • Zwróć uwagę, że wąskie gardło stawiły się podczas wykonywania „próbować„Blok może napotkać„złapać" blok.
  • Prawdopodobny wyjątek, i.mi., "NumberFormatexception„Można teraz umieścić w„złapać" blok.
  • W tym bloku wyświetl podany komunikat zamiast skłonnego wyjątku.
  • Z „z„złapać”Bloku.

Wyjście

Z tego wyniku można sugerować, że wyjątek został odpowiednio poradzi sobie.

Wniosek

„„NumberFormatexception”W Javie jest skierowana, gdy podjęto próbę przekształcenia ciągu z nieprawidłowym formatem w liczbę całkowitą. Ten wyjątek może być spowodowany z wielu omawianych powodów, tj.mi., Wyściełane białe listy w ciągu, przekroczone limit ciągu itp., i można je poradzić za pośrednictwem „próbuj złapać" sprawozdania. Ten blog omawiał podejście do stawienia czoła i radzenia sobie z „NumberFormatexception„W Javie.