• 締切済み

java 9の倍数 プログラム

数字による長い文字列を入力し、それが9の倍数であるかないかを出力するプログラム。但し、9の倍 数であることの判定は、次のように行うこととする。すなわち、%(あまり)は使わないこととする。 423711は、9の倍数である。 4+2+3+7+1+1=18 1+8=9 ⇒ 9となれば、9の倍数 385772は、9の倍数でない。 3+8+5+7+7+2=32 3+2=5 ⇒ 9未満となれば、9の倍数ではない。 “d=Integer.parseInt(s);”を用いると、大きな桁数の入力につ いてエラーとなってしまう。そうならないようなプログラム 。 通報する

みんなの回答

  • _kappe_
  • ベストアンサー率68% (1581/2304)
回答No.1

9の倍数であるかどうかを判定する部分だけ書いてみました。isMultiple9("234")でtrueが返ります。 static boolean isMultiple9(String s) { int sum = 0; for (char c : s.toCharArray()) { if (Character.isDigit(c)) sum += Character.digit(c, 10); else return false; } if (sum < 9) return false; else if (sum == 9) return true; else return isMultiple9(String.valueOf(sum)); }

関連するQ&A