如何在listview中打印两个0

时间:2014-05-02 16:32:15

标签: java android arrays

也许这是一个愚蠢的问题,但我无法弄清楚如何在a:之后显示两个00:这就是我的意思:

我有两个数组:

int[] HoraCole = {     00, 1, 4, 5, 5, 6, 6, 6, 7, 7, 8, 8, 9, 9, 9,10,10,10,11,11,12,12,12,13,13,13,14,14,15,15,16,16,16,17,17,17,18,18,19,19,19,20,20,20,21,22,22,23};        
int[] MinutosCole ={   20,30,30,25,40,00,40,50,20,50,00,30,00,10,40,10,20,50,20,30,00,30,40,00,40,50,20,50,00,30,00,10,40,10,20,50,20,30,00,30,40,10,40,50,20,00,30,10};

然后我有一个arrayadapter接受这个数组,并使用这种格式00:00

创建一个字符串
    if (MinutosCole.length == HoraCole.length){        
        for (int i = 0; i < HoraCole.length; i++){  
            lista.add(HoraCole[i] + ":" + MinutosCole[i]);          
        }
    }

但是当显示那些在MinutosCole中有两个00的人时,它只显示一个0

你们知道为什么会这样吗? 提前致谢

5 个答案:

答案 0 :(得分:1)

你可以用这个

System.out.printf("%02d%n", n); 

String.format("%02d", minutes);

答案 1 :(得分:1)

请注意,00被解释为八进制表示法。所以该值为0 * 8 ^ 0 = 0.(如果您在每个示例中尝试了08,则会出现编译错误。)

我警告过你,因为如果你正在做int a = 077;并期望它的值为77(基数为10),情况并非如此,a的值实际为7 * 8 + 7 = 63。

如果你想在一位数的数字之前填充一些零,请使用格式化程序。

答案 2 :(得分:0)

如果您的值是整数,则0000000始终存储为0.如果要将其打印为00,我建议使用String

答案 3 :(得分:0)

您的数组类型为int[]。显示int时,它始终显示为实际数值,即。 “0”而不是“00”。解决这个问题的方法是在打印整数时使用String.format填充额外的零。

答案 4 :(得分:0)

<00> 00&amp; 0与您使用的类型相同是int而不是string。

如果您将阵列定义如下,它将为您的目的服务。

String[] HoraCole = {     "00", "1", ...}
String[] MinutosCole ={   "20","00","00", .. }

另外,您可以使用字符串格式化程序显示2位数的整数。 例如

  

System.out.printf(“i is%02d%n”,i);

有关详细信息,请查看Formatter的文档。