m0_59657290
2021-11-18 23:34
采纳率: 50%
浏览 46
已结题

10进制转16进制(java)

我知道有简便方法但我还是想知道我这个代码哪里有错?(pta显示最终答案有错)
import java.util.Scanner;
public class Main {
public static void main(String[] args) {

System.out.println("请输入一个整数:");
  Scanner input=new Scanner(System.in);
  int a=input.nextInt();
  int b=a;
  int n=a;
  int k=0;
  char[] c=new char[]{'0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f'};
  int[] d=new int[a];
  int i=0;
  int flag=0;
 while(b!=0)
 {
    b=b/16;
    d[i]=n%16;
    n=b;
    i++;
    flag++;
 }
 for(i=flag-1;i>=0;i--)
 {
     k=d[i];
 System.out.print(c[k]);
 }
 }
}

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

2条回答 默认 最新

相关推荐 更多相似问题