Java String to Int –文字列を整数に変換する方法

文字列オブジェクトは、文字列として表されます。

Java Swingで作業したことがある場合は、GUIから入力を取得するために使用するJTextFieldやJTextAreaなどのコンポーネントがあります。入力を文字列として受け取ります。

Swingを使用して簡単な電卓を作成する場合は、文字列を整数に変換する方法を理解する必要があります。これは私たちに質問につながります-どうすれば文字列を整数に変換できますか?

Javaでは、とを使用Integer.valueOf()Integer.parseInt()て文字列を整数に変換できます。

1. Integer.parseInt()を使用して、文字列を整数に変換します

このメソッドは、文字列をプリミティブ型intとして返します。文字列に有効な整数が含まれていない場合は、NumberFormatExceptionがスローされます。

したがって、文字列をintに変換するたびに、try-catchブロック内にコードを配置して、この例外を処理する必要があります。

を使用して文字列をintに変換する例を考えてみましょうInteger.parseInt()

 String str = "25"; try{ int number = Integer.parseInt(str); System.out.println(number); // output = 25 } catch (NumberFormatException ex){ ex.printStackTrace(); }

無効な整数を入力して、このコードを壊してみましょう。

 String str = "25T"; try{ int number = Integer.parseInt(str); System.out.println(number); } catch (NumberFormatException ex){ ex.printStackTrace(); }

上記のコードでわかるよう25Tに、整数に変換しようとしました。これは有効な入力ではありません。したがって、NumberFormatExceptionをスローする必要があります。

上記のコードの出力は次のとおりです。

java.lang.NumberFormatException: For input string: "25T" at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65) at java.lang.Integer.parseInt(Integer.java:580) at java.lang.Integer.parseInt(Integer.java:615) at OOP.StringTest.main(StringTest.java:51)

次に、このInteger.valueOf()メソッドを使用して文字列を整数に変換する方法を検討します。

2. Integer.valueOf()を使用して、文字列を整数に変換します

このメソッドは、文字列を整数オブジェクトとして返します。Javaのドキュメントを見ると、はとInteger.valueOf()同等の整数オブジェクトを返しますnew Integer(Integer.parseInt(s))

このメソッドを使用する場合は、コードをtry-catchブロック内に配置します。次のInteger.valueOf()方法を使用した例を考えてみましょう。

 String str = "25"; try{ Integer number = Integer.valueOf(str); System.out.println(number); // output = 25 } catch (NumberFormatException ex){ ex.printStackTrace(); }

それでは、無効な整数を入力して、上記のコードを解読してみましょう。

 String str = "25TA"; try{ Integer number = Integer.valueOf(str); System.out.println(number); } catch (NumberFormatException ex){ ex.printStackTrace(); }

前の例と同様に、上記のコードは例外をスローします。

上記のコードの出力は次のとおりです。

java.lang.NumberFormatException: For input string: "25TA" at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65) at java.lang.Integer.parseInt(Integer.java:580) at java.lang.Integer.valueOf(Integer.java:766) at OOP.StringTest.main(StringTest.java:42)

上記のメソッドを使用する前に、渡された文字列が数値であるかどうかを確認するメソッドを作成することもできます。

渡された文字列が数値であるかどうかを確認するための簡単なメソッドを作成しました。

public class StringTest { public static void main(String[] args) { String str = "25"; String str1 = "25.06"; System.out.println(isNumeric(str)); System.out.println(isNumeric(str1)); } private static boolean isNumeric(String str){ return str != null && str.matches("[0-9.]+"); } }

出力は次のとおりです。

true true

このisNumeric()メソッドは、引数として文字列を取ります。まず、そうであるnullかどうかをチェックします。その後、このmatches()メソッドを使用して、0から9の数字とピリオド文字が含まれているかどうかを確認します。

これは、数値を確認する簡単な方法です。ユースケースに応じて、数値をキャプチャするためのより高度な正規表現をGoogleで記述または検索できます。

渡された文字列が整数であるかどうかを確認してから、整数に変換することをお勧めします。

読んでくれてありがとう。

Unsplashに🇸🇮JankoFerličによる画像を投稿する

Mediumで私とつながることができます。

ハッピーコーディング!