2023.03.16

Javaプログラミング

キーボードで2つの実数(double)を入力

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

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

ここでは、キーボードを使って入力された2つの文字をそれぞれ2つの実数型(double)の変数に代入する方法を解説しています。

2つの値の入力は、値を半角スペースで区切るか、値を入力した後にEnterキーを押していく方法があります。どちらの入力方法も同じソースコードです。

以下は、2つの値を入力する例です。2つの実数623.5488.13を入力しています。

実行例1 - 半角スペースで値を区切る

2つの実数を入力してください
623.54 88.13

実行例2 - 1つ値を入力した後にEnterキーを押す

2つの実数を入力してください
623.54
88.13

Javaソースコード

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

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

Scannertodouble2.java

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

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

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

		// 入力された2つの値をdouble型の値に変換して変数に代入
		double value1 = scan.nextDouble();
		double value2 = scan.nextDouble();

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

実行結果

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

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

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

C:\talavax\javasample>javac Scannertodouble2.java

実行例1

C:\talavax\javasample>java Scannertodouble2
実数を入力してください
0.4 2.0

出力結果

入力した実数は、0.4と2.0

半角スペースで区切った2つの値、0.4と2.0が出力されています。

実行例2

C:\talavax\javasample>java Scannertodouble2
実数を入力してください
5.8
10.1

出力結果

入力した実数は、5.8と10.1

1つの値ごとにEnterキーを押して入力した2つの値、5.8と10.1が出力されています。

実行例3

C:\talavax\javasample>java Scannertodouble2
実数を入力してください
10e-3 6

出力結果

入力した実数は、0.01と6.0

キーボードで入力した指数表記の値"10e-3"(10のマイナス3乗)が0.01、小数点なしの6が6.0で出力されています。

実行例4

C:\talavax\javasample>java Scannertodouble2
実数を入力してください
6.3 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.nextDouble(Scanner.java:2569)
        at Scannertodouble2.main(Scannertodouble2.java:13)

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

Javaソースコードの解説

001
import java.util.Scanner;

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

003
public class Scannertodouble2 {

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

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

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

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

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

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

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

011
012
013
		// 入力された2つの値をdouble型の値に変換して変数に代入
		double value1 = scan.nextDouble();
		double value2 = scan.nextDouble();

nextDoubleメソッドで、キーボードから入力された値を読み取っています。

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

Enterキーが押されるまでに入力した値が半角で区切られている場合、区切られた1番目の値が変数value1、2番目の値が変数value2に代入されます。

Enterキーが押されるまでに入力した値が1つの場合、入力した値が変数value1に代入されます。この時点で、2つ目の値が入力されていないので13行目のnextDoubleメソッドで値が入力されるまで待ち状態となります。値を入力してEnterキーを押すと、その値が変数value2に代入されます。

このように、値が入力されるまでnextDoubleメソッドは待ち状態になります。

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

015
016
		// 変数value1とvalue2の値をコンソール出力
		System.out.println( "入力した実数は、" + value1 + "と" + value2 );

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

以上です。

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

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

2020.08.19

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

2023.03.08

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

2023.03.16

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

2023.03.10

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

2023.03.10

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

2023.03.09

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

2023.04.10

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

2020.08.19

前のコンテンツ

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

2023.03.16

関連コンテンツ

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

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

2023.03.16

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

2020.03.23

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

2020.08.19

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

2022.08.03

指数表記は、非常に大きな数値や、0に近い小さい数値を表現するときに使われる表記方法の1つです。興味のある方は、記事をご覧ください。

2020.03.23

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

2023.03.09

広告