网站视频下载脚本,wordpress ip 地址,18款禁用观看黄入口,p2p借贷网站开发【循环 整除 求余 判断】 /*问题描述 十六进制数是在程序设计时经常要使用到的一种整数的表示方式。它有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F共16个符号#xff0c;分别表示十进制数的0至15。十六进制的计数方法是满16进1#xff0c;所以十进制数16在十六进制中是10#xff0c;… 【循环 整除 求余 判断】 /*问题描述 十六进制数是在程序设计时经常要使用到的一种整数的表示方式。它有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F共16个符号分别表示十进制数的0至15。十六进制的计数方法是满16进1所以十进制数16在十六进制中是10而十进制的17在十六进制中是11以此类推十进制的30在十六进制中是1E。 给出一个非负整数将它表示成十六进制的形式。 输入格式 输入包含一个非负整数a表示要转换的数。0a2147483647 输出格式 输出这个整数的16进制表示 样例输入 30 样例输出 1E*/ 心得 这道题本身是没什么难度的只要用递归处理当输入的数字大于等于16时则递归处理该数整除16的值然后再输出最后一位即可。 但是我在做的时候一开始没有考虑到整除16后的值大于9的情况和整除16的次数大于9的情况结果。。。如下图 以后要注意考虑全方面和一定要注意数据范围 1 import java.util.Scanner;2 public class Main{3 public static void main(String[] args){4 Scanner scnew Scanner(System.in);5 int asc.nextInt();6 int[] bnew int[8]; 7 //数组b的元素个数由a决定由于a2^32,即a16^88 char[] s{0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F};9 if(a0a16){
10 for(int i0;i16;i){
11
12 int ma%16;
13 if(mi)
14 System.out.println(s[i]);
15 }
16 }
17 else{
18 int i0;
19 while(a!0){
20 b[i]a%16;
21 aa/16;
22 i;
23 }
24
25 for(int ji-1;j0;j--){
26 if(b[j]10)
27 System.out.print(A);
28 else if(b[j]11)
29 System.out.print(B);
30 else if(b[j]12)
31 System.out.print(C);
32 else if(b[j]13)
33 System.out.print(D);
34 else if(b[j]14)
35 System.out.print(E);
36 else if(b[j]15)
37 System.out.print(F);
38 else
39 System.out.print(b[j]);
40 }
41 }
42 }
43 } 转载于:https://www.cnblogs.com/beckljm/p/4254070.html