当前位置:  开发笔记 > 编程语言 > 正文

Java中"0"有什么作用?

如何解决《Java中"0"有什么作用?》经验,为你挑选了2个好方法。

我试图找到一个数字中所有数字的乘积,我将其存储为一个字符串(由于int和长度限制).

所以数字看起来像这样:

final String number = "1234567898765432123......etc"

如果我使用此代码,它的工作原理:

product *= number.charAt(i + j) - '0';

如果我删除'0'则不会.

我从另一个在线资源获得此代码.有人可以解释'0'的作用吗?



1> Ring Ø..:

Ascii字符实际上是数字.而0 .. 9数字是十进制48(十六进制的0x30)开始的数字.

'0' is 48
'1' is 49
...
'9' is 57

因此,要获得任何字符数字的值,您可以删除'0',即48.

'1' - '0' => 1
 49 -  48 => 1

如果你不删除'0'(48),总和将超过48 * numberOfDigits.

请参阅ascii表以查找其中的数字.

请注意,这'0'是字符0,而不是"0"包含字符的字符串'0'.



2> yelliver..:

我们来看看ASCII图表 在此输入图像描述

您可以看到Dec值为'0' - >'9'

charAt()方法只获取字符,在计算时自动转换为int值.

'0' -> 48
'1' -> 49
...
'9' -> 57

在减去'0'之后:

'0' - '0' -> 48 - 48 = 0
'1' - '0' -> 49 - 48 = 1
...
'9' - '0' -> 57 - 48 = 9

毕竟,'n' - '0'= n,n是数字字符

推荐阅读
和谐啄木鸟
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有