2023.03.08

Javaプログラミング

キーボード入力した値を2乗(自乗)

キーボードで入力された整数値2乗した値をコンソール出力する方法を解説します。

Scannerクラスで入力された値をint型変数に代入し、その値どうしを掛け算して2乗の値を計算しています。

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

以下は、プログラムで2乗計算を実行する例です。

実行例

整数を入力してください
20

出力結果

20の2乗は、400

Javaソースコード

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

入力された値が整数値がどうかの判定と、2乗した結果がオーバーフローするかの判定は行っていません。

int型の変数で2乗計算を行うソースコード

Scantoint1_Sqr.java

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

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

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

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

		// valueの2乗を計算
		int value2 = value * value;

		// 変数value2の値をコンソール出力
		System.out.println( value+ "の2乗は、" + value2 );
	}
}

実行結果

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

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

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

C:\talavax\javasample>javac Scantoint1_Sqr

実行例1

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

出力結果

8の2乗は、64

入力した整数8を2乗した64が出力されます。

実行例2

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

出力結果

1000000の2乗は、-727379968

入力した整数1000000を2乗した値1000000000000が出力されずに、-727379968が出力されます。

このソースでは、2乗int型どうしの掛け算で計算しています。

int型変数が持てる最大値は2,147,483,647なので、計算値がこの値を超える場合は、オーバーフローとなり正確な計算結果が変数に代入されません。

次のソースは、このオーバーフローを少しだけ解消するものです。

int型変数の値をlong型に変換して2乗計算を行うソースコード

Scantoint1_Sqrl.java

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

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

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

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

		// valueの2乗を計算(int→longに型キャスト)
		long value2 =  (long)value *  (long)value;

		// 変数valueの値をコンソール出力
		System.out.println( value+ "の2乗は、" + value2 );
	}
}

実行結果

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

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

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

C:\talavax\javasample>javac Scantoint1_Sqrl

実行例1

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

出力結果

8の2乗は、64

入力した整数8を2乗した64が出力されます。

実行例2

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

出力結果

1000000の2乗は、1000000000000

このソースでは、2乗long型どうしの掛け算で計算しているので正しい計算結果が出力されます。入力されたint型long型に変換(型キャスト)して計算しています。ただし、long型最大値は92,23,372,036,854,775,807なので、この値を超える計算結果になる場合はオーバーフローします。

Javaソースコードの解説

int型の変数で2乗計算を行うソースコード

001
import java.util.Scanner;

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

003
public class Scantoint1_Sqr {

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

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に格納されます。

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

014
015
		// valueの2乗を計算
		int value2 = value * value;

ここで2乗計算しています。

変数valueどうしを掛け算した値を変数value2に代入しています。

017
018
		// 変数value2の値をコンソール出力
		System.out.println( value+ "の2乗は、" + value2 );

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

int型変数の値をlong型に変換して2乗計算を行うソースコード

014
015
		// valueの2乗を計算(int→longに型キャスト)
		long value2 =  (long)value *  (long)value;

ここで2乗計算しています。

int型変数valueを(long)valueでlongに型変換(型キャスト)した値どうしを掛け算した値をlong型変数value2に代入しています。

以上です。

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

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

2020.08.19

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

2023.03.08

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

2023.03.16

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

2023.03.10

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

2023.03.09

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

2023.04.10

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

2023.03.16

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

2020.08.19

関連コンテンツ

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乗を計算するメソッドの作り方を解説しています。

2020.03.23

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

2020.03.23

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

2020.03.23

基本的な計算である足し算(加法)/引き算(減法)/掛け算(乗法)/割り算(除法)を行うプログラム作成。

2020.03.23

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

2022.08.03

2つの値のうち、小さい方の値と、大きい方の値を取得する方法。

2020.03.23

データの型を変換する方法を詳しく解説しています。例)int型 → long型

2015.11.01

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

2023.03.08

広告