教える側からすると困ったことだが,Java言語では一行入力するというだけで も,結構やっかいな手続きが必要になっている.これは,以下のような理由に よる.
import java.io.*; // 入力に関するクラスを使う時は必要 class YourName{ // throws IOException で内部で入出力エラーが起きる可能性があることを示す public static void main(String[] args) throws IOException{ // 入力をするためには,System.inからBufferedReaderを作らなくてはいけない BufferedReader d=new BufferedReader(new InputStreamReader(System.in)); // 文字列型(String)の変数 family, given を定義 String family,given; System.out.println("名字を入力してください> "); // BufferedReader dから一行読み込んだ文字列を familyに入れる. family=d.readLine(); System.out.println("名前を入力してください> "); // BufferedReader dから一行読み込んだ文字列を familyに入れる. given=d.readLine(); // 表示する. System.out.println("あなたの名前は"+family+" "+given+"です"); } }ここで,
import java.io.*;は,入出力に関するクラス(ここでは,InputStreamReader,BufferedReader) を使うために必要な宣言である(昨年度までのJDK1.0ベースの資料とは使うク ラスが異なるので注意が必要になる).
public static void main(String[] args) throws IOException{で,throws IOException をつけるのは,入出力をおこなうと途中でエラーが 起きることがあることを示すものだが,詳細は略す.入力を始める前には,
BufferedReader d=new BufferedReader(new InputStreamReader(System.in));と,BufferedReader型のオブジェクト(これは次回やる予定)を作って変数dに 入れる.ここまで準備をして,はじめて
d.readLine()の結果,キーボードから入力した文字列がStringとして得られるようになる.
JDK1.2 という最新のバージョンでは,Double.parseDouble というメソッド が導入されている
class Math5 { public static void main(String[] args){ String s="1000"; int i=Integer.parseInt(s)+1; System.out.println(i); String s1="1000.1"; double d=new Double(s1).doubleValue() * 2.0; System.out.println(d); } }
逆に,int, double型からString型へ変換するには,Integer.toString,
Double.toStringなどのメソッドが使えるが,一番簡単なのは,
Integer.parseInt("(1+2)") と実行して,3になってくれるなら便利だが,
そのようにはなっていない.
int i=10; String s=""+i;のように,空の文字列に足す形にすると良い.