コマンドラインから入力するⅡ - 萌えJava超入門
第二十二章 
コマンドラインから入力するⅡ

入力文字を数値に変換

コマンドラインで受け取った文字列を数値に変換します。


目次


1.入力文字を数値に変換

Console#.readLineメソッドで受け取った文字列を、ラッパークラスで数値に変換します。
数値の入力を求める際に使用します。

//Sample_21_11.java
import java.io.Console;
public class Sample_21_11 {

  private static Console cons = System.console();

  public static Integer getInteger(String msg){

      Integer oi = null;

      String str = cons.readLine(msg);
      try{
          oi = Integer.valueOf(str);
      }catch(NumberFormatException e){
          System.out.println(e);
      }

      return oi;
  }
  public static Double getDouble(String msg){

      Double od = null;

      String str = cons.readLine(msg);
      try{
          od = Double.valueOf(str);
      }catch(NumberFormatException e){
          System.out.println(e);
      }

      return od;
  }

  public static void main(String[] args) {

      Integer oi = getInteger("Input int: ");
      System.out.println("input x 2 = " + (oi * 2));
      Double od = getDouble("Input double: ");
      System.out.println("input x 2 = " + (od * 2));

  }
}

コマンドライン
ws>javac Sample_21_11.java
ws>java Sample_21_11
Input int:

おっ!
getInteger("Input int: ")のところで
止まりました。
よし。
好きな整数を入力して
Enterだ。
コマンドライン
ws>javac Sample_21_11.java
ws>java Sample_21_11
Input int: 357 <---自分で入力した
input x 2 = 714
Input double:


今度は
getDouble("Input double: ")のところで
止まったわ。
コマンドライン
ws>javac Sample_21_11.java
ws>java Sample_21_11
Input int: 357
input x 2 = 714
Input double: 8.25 <---自分で入力した
input x 2 = 16.5


数値として
計算できてる!
やったー!



2.メソッドの説明

getInteger
コマンドラインから受け取った文字列を Integerにして返します。
文字列を Integer.valueOfで型変換しています。
変換できない文字列の場合は、null を返します。

getDouble
コマンドラインから受け取った文字列を Doubleにして返します。
文字列を Double.valueOfで型変換しています。
変換できない文字列の場合は、null を返します。

null を返したかったので
あえて戻り値をラッパークラスに
してみた。
例外を吐かれるよりは
使いやすいかもね。



お疲れ様でした。




© 2019 awasekagami