Java 输入数字中某些数字的总和
例如,我一直试图从一个数字中求出某个数字的和Java 输入数字中某些数字的总和,java,Java,例如,我一直试图从一个数字中求出某个数字的和 Number: 5 Input: 54365 Output: The sum of 5's is 10 第二个例子: Number: 5 Input: 5437555 Output: The sum of 5's is 20 我已经设法把数字分开了,但是我找不到求和的条件 一个特定的数字(例如数字5,如示例所示) 我很高兴听到你这样做的想法 public static void main(String[] args) { int su
Number: 5
Input: 54365
Output: The sum of 5's is 10
第二个例子:
Number: 5
Input: 5437555
Output: The sum of 5's is 20
我已经设法把数字分开了,但是我找不到求和的条件
一个特定的数字(例如数字5
,如示例所示)
我很高兴听到你这样做的想法
public static void main(String[] args) {
int sum = 0;
int number = MyConsole.readInt("Enter a number:");
while (number > 0) {
if (number % 10 == 8) {
sum += 8;
} else {
number /= 10;
}
}
System.out.println("The sum of 8's is:" + sum);
}
我分隔数字的方法。另外,我有一个小程序来获取输入,而不是使用扫描仪,因为我们在课堂上还没有看过它。我觉得你的要求相当清楚。 给定一个数字
final int number = 5;
还有一个起始号码
final int input = 54365;
最简单的方法是将该数字转换为字符串
final int inputStr = String.valueOf(input);
然后,您可以过滤它的每个字符,并求和它们
final int sum =
inputStr.chars() // Get a Stream of ints, which represent the characters
.map(Character::getNumericValue) // Convert a char to its numeric representation
.filter(i -> i == number) // Filter for the designated number
.sum(); // Sum all the filtered integers
输出:10
使用相同的方法,但使用旧式的for
循环
final int input = 54365;
final int inputStr = String.valueOf(input);
final int number = 5;
int sum = 0;
for (final char c : inputStr.toCharArray()) {
final int n = Character.getNumericValue(c);
if (n == number) {
sum += number;
}
}
你的解决方案可以奏效
int number = 5;
int input = 543655;
int sum = 0;
while (input > 0) {
if (input % 10 == number) {
sum += number;
}
input /= 10;
}
所有输入均为字符串格式?嗨,欢迎来到Stackoverflow!请提供您迄今为止尝试过的内容,以便我们能够帮助您。如果您能提供一些代码,那将非常好:)您没有发布任何一行代码,因此我们无法告诉您如何修复/改进它。请阅读并跟随以获得帮助。我是计算机编程新手,我有点不好意思在这里发布我的代码。@Avivdavidalka这样做,发布您尝试的代码。别担心。我们都是新手。这样我们就可以删除“挂起”的内容。我想知道是否可以使用while/for来完成此操作loops@AvivDavidMalka请参阅更新的答案。这可以接受吗?你把所有变量都定为最终变量有什么原因吗?另外,在增强的for循环中,考虑到值会不断变化,c
如何成为最终值?