繁体   English   中英

在此 Java 的字符数组代码中 - sum += c - '0' 行的目的是什么?

[英]In this Java's char array code - what is the purpose of sum += c - '0' line?

我是 Java 编程的新手,我偶然发现了下面的复制粘贴代码(我从以下内容中找到了: How to sum numbers of an integer in 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 %d\\n", digits, sum); //the answer is 10 } }

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

假设您只输入十进制数字,那么从每个char减去'0'是获得它们明显的整数值的一种方法,这样当您对它们求和时,您就会得到预期的总数。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM