在这个 Java 的 char 数组代码中 - sum += c - '0' 行的目的是什么?



我是Java编程的新手,我偶然发现了下面的复制粘贴代码(我从:如何在Java中对整数的数字求和?)

我正在努力理解这段代码,基本上想在下一行解释:Sum += c -'0';这条直线等于多少?-'0'的目的是什么?

提前感谢大家。

进口java.util.Scanner;

public class RandomPractice1 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("enter some digits: ");
String digits = input.nextLine();  //try digits 55
int sum = 0;
for (char c : digits.toCharArray()) {
sum += c -'0';

}

System.out.printf("sum of numbers %s is %dn", digits, sum); //the answer is 10
}  }

Java中的char值具有整数表示,但它不对应于它们的整数值。'0'为48,'1'为49,依此类推。

假设您只输入十进制数字,那么从每个char中减去'0'是获得其明显整数值的一种方法,因此当您将它们相加时,您将得到期望的总数。

相关内容

  • 没有找到相关文章

最新更新