11

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

所以看看这个例子。我们在文件夹中有 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 代码,但我将非常感谢任何形式的帮助。

4

5 回答 5

30

对于 Java:

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

或者

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

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

于 2009-08-13T01:50:22.890 回答
9

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

dechex ( int $number )
于 2009-08-13T01:33:49.290 回答
7
    for ( int i=1 ; i <= x; i++ ) {
        System.out.printf("%02x\n", i);
    }
于 2009-08-13T01:37:22.437 回答
4

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

for ($i = 1; $i <= 36; $i++) {
    printf("%02x\n", $i);
}
于 2009-08-13T01:36:05.107 回答
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
于 2009-08-13T01:36:46.480 回答