問題やアイデアの意味
問題の意味:二つの入力数nが、R、N(10進数)が進Rに変換されます。
考える:%rは、変換操作することができます。
まず、nはそれは状況に負、負注意であれば、マイナスがあるかもしれません:ピットポイントを辞任しました。第二に、変換された数値が10以上である、EXP:10 - > A. 16進数の各対応するフォームに変換します。文字(例えばA)の出力ではなく、「ラッシュ」を出力する(自分の質問に)特に注意、改行、それ以外の場合は私の足跡をステップインします。ねえ!
コード
package com.kyrie.java1; import java.util.ArrayList; import java.util.Scanner; public class HD2031 { public static void main(String[] args) { Scanner in = new Scanner(System.in); int n, r; while (in.hasNext()) { n = in.nextInt(); r = in.nextInt(); trans(n, r); } in.close(); } private static void trans(int n, int r) { int t = 0; boolean flag = false; if (n < 0) { flag = true; n = -n; } ArrayList<Integer> aL = new ArrayList<Integer>(); // translate while (n != 0) { aL.add(n % r); n /= r; } // 判断负号 if (flag) { System.out.print("-"); } for (int i = aL.size() - 1; i >= 0; i--) { t = aL.get(i); if (t >= 10) { System.out.printf("%c", 'A' + (t - 10)); } else { System.out.print(t); } } System.out.println(); } }