22.02.17白準2577号


質問する



最初の答え
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int a = sc.nextInt();
		int b = sc.nextInt();
		int c = sc.nextInt();
		int result = a*b*c;
		int[] arr = new int[10];
		String str = String.valueOf(result);
		for (int i = 0; i < str.length(); i++) {
			for (int j = 0; j < arr.length; j++) {
				if(str.charAt(i)==j+48) arr[j]++; 
			}
		}
		for (int i = 0; i < arr.length; i++) {
			System.out.println(arr[i]);
		}
	}

}
メソッド->10個のint配列を作成し、abcを文字列に変換し、for文とcharat()で1つずつチェックして処理し、インデックスの文字が数字の場合、以前に作成した10個の配列でインデックスの値を1増加します.
ex)str="1031293"の場合、arr[0]=1、arr[1]=2、arr[2]=1...いいですよ.
結果->正