[英]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.