###前提・実現したいこと
Javaで標準入力に現れた数字文字の出現回数を表示の仕方。
数値を入力した時に、例えば「1134」と入力すると、1は2個、2は1個、3は1個のようなプログラムを作りたいのですが、一桁ずつ配列に格納していけばいいのでしょうか?そのやり方が良くわからず悩んでいます。
よければ教えていただきたいです。
###該当のソースコード
Java
1package program; 2 3import java.io.BufferedReader; 4import java.io.IOException; 5import java.io.InputStreamReader; 6import java.util.ArrayList; 7import java.util.List; 8 9public class Program { 10 11 public static void main(String[] args) throws IOException { 12 List<Integer> numbers = new ArrayList<>(); 13 while (true) { 14 BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); 15 System.out.println("数値を入力してください。"); 16 String str = reader.readLine(); 17 try { 18 Integer i = Integer.parseInt(str); 19 numbers.add(i); 20 // 数をカウントするための int 型の変数を定義し、0 で初期化する。 21 int count = 0; 22 int size = numbers.size(); 23 for (int a = 0; a < size; a++) { 24 int s = numbers.get(a); 25 // 数字が"0"だったらカウントを1つ増やす。 26 if (s == 0) { 27 count++; 28 System.out.println(count); 29 } 30 } 31 32 } catch (Exception e) { 33 System.out.println(numbers); 34 System.out.println("数値以外です。終了します。"); 35 break; 36 } finally { 37 // エラーでも正常でも実行します 38 System.out.println("プログラム終了"); 39 } 40 } 41 } 42} 43
###補足情報(言語/FW/ツール等のバージョンなど)
Eclipse
回答3件
あなたの回答
tips
プレビュー