スポンサーサイト





上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

タグ :

   印刷ボタン       この記事に拍手する       このエントリーをはてなブックマークに追加

Return to page top

  • Comments (Close): -
  • TrackBack (Close): -

文字列から数値に変換





Javaでは、データ型をきちんと扱わなければならず、たとえば数字にしても、やり方しだいでは文字列として扱われるので、そのままでは計算に使うことができません。

たとえば、氏名と点数を扱う多次元配列を考えてみます。

String test[][]={{"山田","7"},{"田中","8"},{"佐藤","9"}};

いうまでもなく、山田さんは7点、田中さんは8点、佐藤さんは9点です。

われわれ人間は、"7"が数字をあらわしていることが常識で分かるのですが、コンピュータはそうはいきません。このtestという配列では、文字列である氏名と数字の点数を一緒に管理するために、一括してString型(文字列)として扱っています。

要するに、コンピュータにとってString型の"7"はただの文字列で、これを計算に使うなんて考えも及ばないのです。

しかし、人間にとってみれば"7"をString型にしたのは配列を作って管理するためというただの便宜上の話で、これを数値として扱えなければコンピュータを利用する意味がありません。

ここでは、上の配列の数字を文字列から数値に変換して、3人の点数の平均点を求めるという作業をしてみます。

文字列を数値に変換するためには、Integerクラスというものを使います。

Integerクラスはint型を発展させて便利にしたもので、「包み込む」という意味の「ラッパークラス」と呼ばれるものの一種です。今回の例でいけば、文字列を包み込んで数値に変えてしまうというわけです。

たとえば、"7"という文字列を数値に変換してnumという変数に代入するには、以下のように、IntegerクラスのparseIntメソッドというのを使います。
  int num=Integer.parseInt("7");

Integerクラスにはいろんな機能があり、そのうちのparseIntという機能を使うと文字列が数値として扱えるようになるというわけです。

では、3人の点数を数値に直して、平均点を求めてみましょう。



public class Sample
{
public static void main( String[] args )
{

String test[][]={{"山田","7"},{"田中","8"},{"佐藤","9"}};

int result1=Integer.parseInt(test[0][1]);
int result2=Integer.parseInt(test[1][1]);
int result3=Integer.parseInt(test[2][1]);

System.out.println((result1+result2+result3)/test.length);
}
}



解説しますと、
int result1=Integer.parseInt(test[0][1]);
は、testという配列の一番目のかたまり {"山田","7"} のうちの2番目のデータ"7"をInteger.parseIntを利用して数値に変換し、result1という変数に代入したという意味です。

関連記事

タグ :

   印刷ボタン       この記事に拍手する       このエントリーをはてなブックマークに追加

Return to page top

Comments:

Comment Form
Only inform the site author.

Trackback+Pingback:

TrackBack URL for this entry
http://javamania.blog25.fc2.com/tb.php/10-026750a1
  • 閉じるボタン
クラスライブラリ解説 目次
クラスライブラリとは
 ├ Java APIの調べ方
 ├ Objectクラスを調べる
 ├ ライブラリのインポート
 ├ 完全修飾クラス名を調べる
 ├ staticインポート
 ├ 外部ライブラリの利用

文字列を扱う
 ├ Stringとイミュータプル
 ├ StringBuilder 文字列の連結
 ├ toString()のオーバーライド
 ├ toXxCase() 大文字と小文字
 ├ compareTo() 値の比較
 ├ parseDouble() 文字を小数値に
 └ 文字列を抜き出す
 ├ char配列からString型へ変換
 ├ 空白文字の除去

日付を扱う
 ├ Calendar 現在の日付
 ├ Date 日付の表示

数値演算を扱う
 ├ round() 切上・切捨・四捨五入
 ├ BigDecimal
 ├ sqrt(),pow() 累乗と平方根
 ├ BigInteger
 ├ int型の最大値・最小値
 ├ random() 乱数作成

ファイルを扱う
 ├ ファイルの存在確認
 ├ ファイルを作成
 ├ ファイルの削除
 ├ ファイルサイズを調べる

入出力ストリーム
 ├ ファイルを読み込む
 ├ 画像ファイルのコピー
 ├ 日本語の読み込みと書き出し
 ├ バッファ入出力
 ├ データ型フリーの出力ストリーム
 ├ getBytes()メソッド

書式つき入出力
 ├ 書式を指定して出力
 ├ 引数インデックス
 ├ 整数値のフォーマット
 ├ 小数値のフォーマット
 ├ 九九の表のフォーマット

例外処理
 ├ printStackTrace()
 ├ NullPointerException
 └ NumberFormatException
月別アーカイブ
カテゴリ
リンク
QRコード
QR
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。