fork download
  1. class Test {
  2.  
  3. public static void main(String[] args) {
  4.  
  5. int num = 12345;
  6.  
  7. Keta k = new Keta(num);
  8. for (int i = 1; i <= 5; i++) {
  9. System.out.println(String.format("%d桁目の値=%d", i, k.ketaNum(i)));
  10. }
  11.  
  12. System.out.println(String.format("各位の数の合計=%d", k.sumKeta()));
  13. }
  14.  
  15. static class Keta {
  16.  
  17. private int num;
  18.  
  19. public Keta(int num) {
  20. this.num = num;
  21. }
  22.  
  23. int ketaNum(int n) {
  24. if (n <= 0) {
  25. return 0;
  26. }
  27. int syo = num / ((int) Math.pow(10, n - 1));
  28. if (syo == 0) {
  29. return 0;
  30. }
  31. return syo % 10;
  32. }
  33.  
  34. int keta() {
  35. int i = 1;
  36. while (true) {
  37. if (ketaNum(i) == 0) {
  38. break;
  39. }
  40. i++;
  41. }
  42. return i - 1;
  43. }
  44.  
  45. int sumKeta() {
  46. return sumKeta(keta());
  47. }
  48.  
  49. int sumKeta(int n) {
  50. int keta = ketaNum(n);
  51. if (keta == 0) {
  52. return 0;
  53. }
  54. return keta + sumKeta(n - 1);
  55. }
  56. }
  57. }
  58.  
Success #stdin #stdout 0.08s 380160KB
stdin
Standard input is empty
stdout
1桁目の値=5
2桁目の値=4
3桁目の値=3
4桁目の値=2
5桁目の値=1
各位の数の合計=15