有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

如何在PHP或Java中打印十六进制数字

我需要打印一些数据(格式有点奇怪)。我是用PHP编写的,带有if($num%10==9),但不可能得到正确的输出

以这个为例。 文件夹中有x个文件。对于这个例子,x=36。X总是已知的

输出应如下所示:

01
02
03
04
05
06
07
08
09
0a
0b
0c
0d
0e
0f
10
11
...
19
1a
...
1f
20
...
24

很抱歉这么长的“名单”,但我相信你知道我现在需要什么。 所以,在每个以9结尾的数字之后,我们有num(a,b,c,d,e,f),然后是前一个数字后面的数字,最后是9。(例如3a…3f,40…49)。 最重要的是,打印行数必须等于x

如果可能的话,我更喜欢PHP或Java代码,但我将非常感谢任何形式的帮助


共 (5) 个答案

  1. # 1 楼答案

    <?php
    function blah($n) {
      for($i=1;$i<=$n;$i++) {
        printf("%02x\n", $i);
      }
    }
    
    blah(36);
    ?>
    
    01
    02
    03
    04
    05
    06
    07
    08
    09
    0a
    0b
    0c
    0d
    0e
    0f
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    1a
    1b
    1c
    1d
    1e
    1f
    20
    21
    22
    23
    24
    
  2. # 2 楼答案

    对于Java:

    System.out.println(Integer.toHexString(number));
    

    System.out.println(String.format("%x", number));
    

    后者有更多用于格式化十六进制字符串的选项

  3. # 3 楼答案

        for ( int i=1 ; i <= x; i++ ) {
            System.out.printf("%02x\n", i);
        }
    
  4. # 4 楼答案

    这将打印十六进制01-24(小于10的数字前面填充0)

    for ($i = 1; $i <= 36; $i++) {
        printf("%02x\n", $i);
    }
    
  5. # 5 楼答案

    您需要以十六进制表示法打印数字1到30。对每行尝试以下方法:

    dechex ( int $number )