java
1 import java . io . BufferedReader ;
2 import java . io . IOException ;
3 import java . io . InputStreamReader ;
4 import java . util . ArrayList ;
5 import java . util . HashMap ;
6 import java . util . List ;
7
8 public class Tera73508 {
9 public static void main ( String [ ] args ) throws IOException {
10 List < Integer > numbers = new ArrayList < > ( ) ;
11 HashMap < Character , Integer > counts ;
12
13 BufferedReader reader = new BufferedReader ( new InputStreamReader ( System . in ) ) ;
14 System . out . println ( "数値を入力してください。" ) ;
15 String str = reader . readLine ( ) ;
16 try {
17 counts = count_digits ( str ) ;
18 counts . forEach ( ( k , v ) -> System . out . println ( "Digit: " + k + " Count: " + v ) ) ;
19 } catch ( NumberFormatException e ) {
20 System . out . println ( numbers ) ;
21 System . out . println ( "数値以外です。終了します。" ) ;
22 }
23 }
24
25 private static HashMap < Character , Integer > count_digits ( String str ) {
26 HashMap < Character , Integer > count = new HashMap < Character , Integer > ( ) ;
27 for ( char c : str . toCharArray ( ) ) {
28 count . put ( c , count . getOrDefault ( c , 0 ) + 1 ) ;
29 }
30 return count ;
31 }
32 }
実行例
数値を入力してください。
3213
Digit: 1 Count: 1
Digit: 2 Count: 1
Digit: 3 Count: 2
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/04/23 11:33
2017/04/23 12:47