0403「整数値を位ごとに表示しよう ~応用2~」

今回やりたいこと


例題

整数値を標準入力に入力したとき、その整数を下の位から順に一行に一桁ずつ数字を標準出力に出力するプログラムを作成しなさい。


実行例1

標準入力
12345
標準出力
5
4
3
2
1



実行例2

標準入力
1230
標準出力
0
3
2
1


サンプルコード

import java.util.Scanner;

public class Ex_04_03 {

	public static void main(String[] args) {
		// 入力
		Scanner scan = new Scanner(System.in);
		int x = scan.nextInt();
		int digit = String.valueOf(x).length();	// 桁数

		// 出力
		for(int i=0; i<digit; i++) {
			int y = (int) Math.pow(10, i+1);
			int z = (int) Math.pow(10, i);
			int a = (x%y)/z;
			System.out.println(a);
		}
	}

}


解説

String.valueOf(int i)

i の文字列表現を返すメソッドです。

int x = 12345;
String str = String.valueOf(x);

としたとき、str には文字列として "12345" が代入されています。


length()

文字列の長さを返すメソッドです。

String str = "12345";
int digit = str.length();

としたとき、digit には整数値として 5 が代入されています。


アルゴリズム

桁数を自動的に求めただけですね!