2015.11.03
Javaのコンソール入力
コンソール入力とは
コンソール入力とは、コンソールからキーボードを使って値を入力することです。
Javaには、キーボードから文字を入力するためのInputStreamReader、Scannerがあります。
ここでは、InputStreamReaderを使った入力について説明します。
Javaソースコード
Typing.java
001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019 020 021 022 023 024 025
import java.io.*; public class Typing { public static void main( String[] args ) { String str; // キーボードから入力する文字列 // コンソール入力 BufferedReader input = new BufferedReader( new InputStreamReader( System.in ) ); try { System.out.print( "入力して下さい(Enterキーで終了) : "); str = input.readLine(); } catch ( IOException e ) { // 入力エラー System.out.println( e ); return; } // 入力値を表示 System.out.println(); System.out.println( "入力値 :" + str ); } }
コンパイル ソースコードが「ANSI」の場合
C:\talavax\javasample>javac -encoding sjis Typing.java
コンパイル ソースコードが「UTF-8」の場合
C:\talavax\javasample>javac Typing.java
実行
C:\talavax\javasample>java Typing
実行例
入力して下さい(Enterキーで終了) :
実行後、文字列を入力します。
入力して下さい(Enterキーで終了) : test 入力値 : test
Javaソースコードの解説
ここからは、このソースコードを上から順番に解説していきます。
001
import java.io.*;
Javaのクラスライブラリの中から「java.io.*」というパッケージにあるクラスを、このプログラム内で使うために記述します。 この記述により、BufferedReaderクラスとInputStreamReaderクラスが利用できるようになります。
003
public class Typing {
クラス名を、Typingとしています。
004
public static void main( String[] args ) {
このmainメソッドからプログラムを実行します。
005
String str; // キーボードから入力する文字列
入力結果を格納するためのStringクラスのstrを宣言しています。
007 008 009
// コンソール入力
BufferedReader input =
new BufferedReader( new InputStreamReader( System.in ) );
011 012 013 014 015 016 017 018 019
try { System.out.print( "入力して下さい(Enterキーで終了) : "); str = input.readLine(); } catch ( IOException e ) { // 入力エラー System.out.println( e ); return; }
13行目のstr = input.readLine();で入力した値をstrに格納しています。
try { ~ } catchは、失敗する可能性がある処理を波括弧で囲み、その処理に失敗したときにcatch { ~ }の波括弧で囲まれた処理を実行するということです。この場合は、キーボード入力の異常が原因で処理が失敗する可能性があります。処理が失敗するとreturnによってmainメソッドを抜けるようにしています。
021 022 023
// 入力値を表示 System.out.println(); System.out.println( "入力値 :" + str );
入力した値を表示します。
以上です。