演習1-5 文字列処理のいろいろ
をテンプレートにして作成
開始行:
[[TopPage]] > [[演習課題]] > 演習1-5
演習1-5では,2つのプログラムファイルについて見ていきます.
* 文字列と数値の型変換 [#s5c861c9]
まず,下記のプログラムをダウンロードしてください.
&ref(NumStrTest.java,,,NumStrTest.java ダウンロード);/[[...
** 数値型から文字列型への変換 [#y7467d9c]
数値型から文字列型に変換するには,暗黙的に変換される場合...
*** 暗黙的に変換される場合 [#aa0324f0]
文字列と数値を結合する場合などは,変換コードを記述しなく...
int numberten = 10;
System.out.println("Number "+ numberten);
ただし,数値同士を+記号で結合しようとしても,足し算と認...
System.out.println(3 + 9); // 39ではなく,足し算結果の1...
*** 明示的に変換コードを記述する場合 [#b6a8212c]
数値型を文字列型に変換する場合のコードは,次のとおりです.
int numberten = 10;
String str = Integer.toString(numberten);
''Integer.toString(''[数値型の変数]'')''のように記述する...
- String ''Integer.toString''(''[数値型の変数]'')''~
''[数値型の変数]''の値を文字列にして返します.
&color(red,yellow){''裏ワザ''};~
空文字列との「結合」を利用すると,暗黙的な変換ができます.
int number = 50;
String str = "" + number;
** 文字列型から数値型への変換 [#jc1e521b]
文字列型から数値型への変換は,明示的に記述しなければなり...
変換する数値がint型の場合は,以下のとおりです.
String strint = "1234";
int inum = Integer.parseInt(strint);
- int ''Integer.parseInt''(''[文字列]'')''~
''[文字列]''の値をint型にして返します.
変換する数値が実数の場合(Double型にする場合)は,以下の...
String strfloat = "1234.56";
double fnum = Double.parseDouble(strfloat);
- Double ''Double.parseDouble''(''[文字列]'')''~
''[文字列]''の値をDouble型にして返します.
&color(red,yellow){''注意点''}; ~
文字列型から数値型への変換は,どのような文字列でも変換で...
%%%変換できない文字が含まれている場合,プログラムエラー(...
**練習 [#n22aa4d0]
*** 確認練習1 [#maa31e2b]
文字列型から数値型への変換で,わざと数値でない文字列を作...
例)strintの値に「文字」を追加する
String strint = "1234abc";
すると,次のようなエラーが発生し,エラーが出た行でプログ...
Exception in thread "main" java.lang.NumberFormatExcepti...
at java.lang.NumberFormatException.forInputStrin...
at java.lang.Integer.parseInt(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at NumStr.main(NumStr.java:18)
*** 確認練習2 [#qef5db7c]
エラーをキャッチする構文(try-catch文)を導入してみましょ...
ソースコードを以下のように書き換えてください.
// 文字列型から数値型への変換
System.out.println("int型の変換");
String strint = "1234"; // 数値でない文字列に...
//エラーが出る可能性がある文
try {
int inum = Integer.parseInt(strint);
System.out.println(inum);
//エラーが発生した時の処理
} catch (NumberFormatException ex) {
System.out.println(strint + "は数値に変換できません!...
}
* 文字列の分割(split) [#p83335d8]
まず,下記のプログラムをダウンロードしてください.
&ref(SplitTest.java,,,SplitTest.java ダウンロード);/[[ソ...
ネットワークプログラムなどでは,次のようなスペース文字や...
GET 5 5 1
MOVE 4 5 0
これらのデータ集合から,個々のデータを配列で取得するには...
String text = "GET 5 5 1";
// Splitを使って命令を分割する
String[] data = text.split(" ");
// 分割した個々の要素を1行ずつ表示する.
for (int i=0; i<data.length; i++) {
System.out.println(data[i]);
}
- String[] String.''split''(''[文字列]'')''~
文字列を指定の文字(''[文字列]'')で分割し,配列にします.~
返り値が配列になることに注意してください.
上記の例ですと,data[0]に"GET",data[1]に"5",…が代入され...
文字列を取り出す,という意味では[[演習1-4>演習1-4 文字列(...
また,配列の要素数は,'''配列型'''.''length''で取得するこ...
#br
&size(16){[[&ref(http://yoslab.net/netprog/next.gif,nolin...
終了行:
[[TopPage]] > [[演習課題]] > 演習1-5
演習1-5では,2つのプログラムファイルについて見ていきます.
* 文字列と数値の型変換 [#s5c861c9]
まず,下記のプログラムをダウンロードしてください.
&ref(NumStrTest.java,,,NumStrTest.java ダウンロード);/[[...
** 数値型から文字列型への変換 [#y7467d9c]
数値型から文字列型に変換するには,暗黙的に変換される場合...
*** 暗黙的に変換される場合 [#aa0324f0]
文字列と数値を結合する場合などは,変換コードを記述しなく...
int numberten = 10;
System.out.println("Number "+ numberten);
ただし,数値同士を+記号で結合しようとしても,足し算と認...
System.out.println(3 + 9); // 39ではなく,足し算結果の1...
*** 明示的に変換コードを記述する場合 [#b6a8212c]
数値型を文字列型に変換する場合のコードは,次のとおりです.
int numberten = 10;
String str = Integer.toString(numberten);
''Integer.toString(''[数値型の変数]'')''のように記述する...
- String ''Integer.toString''(''[数値型の変数]'')''~
''[数値型の変数]''の値を文字列にして返します.
&color(red,yellow){''裏ワザ''};~
空文字列との「結合」を利用すると,暗黙的な変換ができます.
int number = 50;
String str = "" + number;
** 文字列型から数値型への変換 [#jc1e521b]
文字列型から数値型への変換は,明示的に記述しなければなり...
変換する数値がint型の場合は,以下のとおりです.
String strint = "1234";
int inum = Integer.parseInt(strint);
- int ''Integer.parseInt''(''[文字列]'')''~
''[文字列]''の値をint型にして返します.
変換する数値が実数の場合(Double型にする場合)は,以下の...
String strfloat = "1234.56";
double fnum = Double.parseDouble(strfloat);
- Double ''Double.parseDouble''(''[文字列]'')''~
''[文字列]''の値をDouble型にして返します.
&color(red,yellow){''注意点''}; ~
文字列型から数値型への変換は,どのような文字列でも変換で...
%%%変換できない文字が含まれている場合,プログラムエラー(...
**練習 [#n22aa4d0]
*** 確認練習1 [#maa31e2b]
文字列型から数値型への変換で,わざと数値でない文字列を作...
例)strintの値に「文字」を追加する
String strint = "1234abc";
すると,次のようなエラーが発生し,エラーが出た行でプログ...
Exception in thread "main" java.lang.NumberFormatExcepti...
at java.lang.NumberFormatException.forInputStrin...
at java.lang.Integer.parseInt(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at NumStr.main(NumStr.java:18)
*** 確認練習2 [#qef5db7c]
エラーをキャッチする構文(try-catch文)を導入してみましょ...
ソースコードを以下のように書き換えてください.
// 文字列型から数値型への変換
System.out.println("int型の変換");
String strint = "1234"; // 数値でない文字列に...
//エラーが出る可能性がある文
try {
int inum = Integer.parseInt(strint);
System.out.println(inum);
//エラーが発生した時の処理
} catch (NumberFormatException ex) {
System.out.println(strint + "は数値に変換できません!...
}
* 文字列の分割(split) [#p83335d8]
まず,下記のプログラムをダウンロードしてください.
&ref(SplitTest.java,,,SplitTest.java ダウンロード);/[[ソ...
ネットワークプログラムなどでは,次のようなスペース文字や...
GET 5 5 1
MOVE 4 5 0
これらのデータ集合から,個々のデータを配列で取得するには...
String text = "GET 5 5 1";
// Splitを使って命令を分割する
String[] data = text.split(" ");
// 分割した個々の要素を1行ずつ表示する.
for (int i=0; i<data.length; i++) {
System.out.println(data[i]);
}
- String[] String.''split''(''[文字列]'')''~
文字列を指定の文字(''[文字列]'')で分割し,配列にします.~
返り値が配列になることに注意してください.
上記の例ですと,data[0]に"GET",data[1]に"5",…が代入され...
文字列を取り出す,という意味では[[演習1-4>演習1-4 文字列(...
また,配列の要素数は,'''配列型'''.''length''で取得するこ...
#br
&size(16){[[&ref(http://yoslab.net/netprog/next.gif,nolin...
ページ名: