2023.03.08

Javaプログラミング

キーボードで整数を入力

Scannerクラスを使って、キーボードで整数を入力する方法を解説します。

学習用のプログラム作成などで、キーボード入力で値を取得する場合に活躍するのがScannerクラスです。

ここでは、キーボードを使って入力された文字を整数型の変数に代入する方法を解説しています。

ソースコードを簡単にするために、キーボードで入力した値が整数値であるかを判定する処理は入れていません。そのため、整数以外の値を入力するとプログラムが強制終了します。

Javaソースコード

キーボードで入力された値を整数型の変数に代入し、その値をコンソール出力するJavaソースコードです。

入力された値が整数値がどうかの判定処理はしていません。

Scannertoint1.java

001
002
003
004
005
006
007
008
009
010
011
012
013
014
015
016
017
import java.util.Scanner;

public class Scannertoint1 {
	public static void main( String[] args ) {
		// メッセージを表示
		System.out.println( "整数を入力してください" );

		// Scannerを作成
		Scanner scan = new Scanner( System.in );

		// 入力された値をint型の値に変換して変数に代入
		int value = scan.nextInt();

		// 変数valueの値をコンソール出力
		System.out.println( "入力した整数は、" + value );
	}
}

実行結果

コンパイル ソースコードが「ANSI」の場合

C:\talavax\javasample>javac -encoding sjis Scannertoint1.java

コンパイル ソースコードが「UTF-8」の場合

C:\talavax\javasample>javac Scannertoint1.java

実行例1

C:\talavax\javasample>java Scannertoint1
整数を入力してください
3

出力結果

入力した整数は、3

キーボードで入力した3が出力されています。

実行例2

C:\talavax\javasample>java Scannertoint1
整数を入力してください
18 5

出力結果

入力した整数は、18

キーボードで入力した"18 5"は、18と5が半角スペースで区切られているので、区切りの先頭の18が出力されています。

実行例3

C:\talavax\javasample>java Scannertoint1
整数を入力してください
A

出力結果

Exception in thread "main" java.util.InputMismatchException
        at java.base/java.util.Scanner.throwFor(Scanner.java:943)
        at java.base/java.util.Scanner.next(Scanner.java:1598)
        at java.base/java.util.Scanner.nextInt(Scanner.java:2263)
        at java.base/java.util.Scanner.nextInt(Scanner.java:2217)
        at Scannertoint1.main(Scannertoint1.java:12)

キーボードで入力したAは整数ではないので、プログラムがエラーメッセージを出力して強制終了しました。

Javaソースコードの解説

001
import java.util.Scanner;

Javaクラスライブラリの中から「java.util.Scanner」というパッケージにあるクラスを使うために記述しています。

003
public class Scannertoint1 {

クラス名を、Scannertoint1としています。

004
	public static void main( String[] args ) {

このmainメソッドからプログラムを実行します。

005
006
		// メッセージを表示
		System.out.println( "整数を入力してください" );

printlnメソッドで、メッセージ”整数を入力してください”をコンソール出力しています。

008
009
		// Scannerを作成
		Scanner scan = new Scanner( System.in );

標準入力System.inを使って、Scannerクラスscanを初期化しています。

011
012
		// 入力された値をint型の値に変換して変数に代入
		int value = scan.nextInt();

nextIntメソッドで、キーボードから入力された1行を読み取り、その値をint型変数valueに代入しています。

ここで、入力待ち状態になり、Enterキーが押されるまでに入力した値が変数valueに格納されます。

キーボードで入力した文字が、半角のスペースで区切られている場合、区切られた1番目の整数値変数valueに代入されます。

以下は、入力例と変数valueに格納される値の例です。

入力された文字が"3"の場合、変数value=3になります。
入力された文字が"-9"の場合、変数value=-9になります。
入力された文字が"+6"の場合、変数value=-6になります。プラス(+)記号があってもエラーになりません。
入力された文字が"18  7  12"の場合、変数value=18になります。半角スペースで区切られた1番目の値は、18です。
入力された文字が"6  A"の場合、、変数value=6になります。半角スペースで区切られた1番目の値は、6です。
入力された文字が"G  13"の場合、'G'が整数でないため、エラーとなり、プログラムが強制終了します。半角スペースで区切られた1番目の値は、Gです。
入力された文字が"16.3  7"の場合、'16.3'に小数点があるため、エラーとなり、プログラムが強制終了します。半角スペースで区切られた1番目の値は、16.3です。
入力された文字が"20.0  22"の場合、'22.0'に小数点があるため、エラーとなり、プログラムが強制終了します。半角スペースで区切られた1番目の値は、20.0です。
入力された文字が"10e2"の場合、エラーとなり、プログラムが強制終了します。指数表記には対応していません。

キーボードの"Ctrl"キーを押しながら"C"を押すと強制終了します。

014
015
		// 変数valueの値をコンソール出力
		System.out.println( "入力した整数は、" + value );

変数valueの値をprintlnメソッドコンソール出力しています。

キーボード入力に関するコンテンツ

キーボードを使って値を入力する方法を解説しています。ソースコード付きです。

2020.08.19

キーボードを使って整数値を2つ入力る方法を解説しています。Scannerクラスを利用しています。

2023.03.16

キーボードを使って入力した整数値を2乗する方法を解説しています。

2023.03.10

キーボードを使って入力した整数値の絶対値を求める方法を解説しています。

2023.03.10

キーボードを使って実数値(double)を入力する方法を解説しています。Scannerクラスを利用しています。

2023.03.09

キーボードで入力された実数の角度からsin(サイン)、cos(コサイン)を計算し、コンソール出力する方法を解説します。

2023.04.10

キーボードを使って実数値(double)を2つ入力する方法を解説しています。Scannerクラスを利用しています。

2023.03.16

キーボードで入力した整数値を配列に格納するメソッドの作り方を解説しています。

2020.08.19

次のコンテンツ

キーボードを使って実数値(double)を入力する方法を解説しています。Scannerクラスを利用しています。

2023.03.09

関連コンテンツ

Javaの学習に役立つソースコードを多数紹介しています。是非、ご覧ください。

2022.09.10

変数やクラスに格納されている値をコンソール出力する方法は?

2020.03.23

コンピュータを制御するために使用する入力機能と出力機能を持つ装置のことをコンソールといいます。興味のある方は、ご覧ください。

2020.08.24

Integerクラスについて、ソースコードを使って詳しく説明しています。

2020.03.23

プログラムの最初に実行されるメソッドは?

2022.12.13

プログラミングで使う変数って何?

2020.03.23

Javaのプログラムを書いてみませんか?プログラムの書き方をくわしく説明しています。

2020.03.23

「Javaソースコード」から実行可能な「オブジェクトコード」に変換する方法をくわしく説明しています。

2020.03.23

キーボードを使って実数値(double)を入力する方法を解説しています。Scannerクラスを利用しています。

2023.03.09

Javaプログラムの構成について解説しています。詳しくは、こちらをご覧ください。

2020.03.23

自然数と整数って何が違う?

2020.03.23

キーボードを使って値を入力する方法を解説しています。ソースコード付きです。

2020.08.19

プログラミング言語とは?種類や特徴について説明しています。

2022.08.03

簡単な「じゃんけん」ゲームの作り方をソースコードを使って詳しく説明しています。

2023.05.22

連続で「じゃんけん」ができるプログラムの作り方をソースコードを使って詳しく説明しています。

2023.05.23

キーボードを使って整数値を2つ入力る方法を解説しています。Scannerクラスを利用しています。

2023.03.16

キーボードを使って入力した整数値の絶対値を求める方法を解説しています。

2023.03.10

キーボードを使って入力した整数値を2乗する方法を解説しています。

2023.03.10

広告