gpt4 book ai didi

java - 输入数字中某些数字的总和

转载 作者:行者123 更新时间:2023-12-02 10:06:20 26 4
gpt4 key购买 nike

例如,我一直在尝试对数字中的某个数字求和

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;
}

关于java - 输入数字中某些数字的总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55313116/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com