本题目要求读入若干以回车结束的字符串表示的整数或者浮点数,然后将每个数中的所有数字全部加总求和。 输入格式: 每行一个整数或者浮点数。保证在浮点数范围内。 输出格式: 整数或者浮点数中的数字之和。题目保证和在整型范围内。
时间: 2024-11-18 20:26:57 浏览: 21
C#获取字符串里的数字
5星 · 资源好评率100%
要实现这个功能,你需要先读取用户的输入,然后逐个处理这些字符串,提取其中的数字并进行累加。这里是一个简单的Java程序,它使用`Scanner`类从标准输入读取数据,然后解析每个字符串为整数或浮点数,并计算它们的数字之和:
```java
import java.util.Scanner;
public class SumOfNumbers {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int sum = 0; // 存储累加结果
while (scanner.hasNext()) { // 读取直到没有更多输入
String input = scanner.nextLine(); // 读取一行
// 检查输入是否为数字(整数或浮点数)
if (input.matches("\\d+")) {
sum += Integer.parseInt(input); // 如果是整数,直接相加
} else if (input.matches("-?\\d+(\\.\\d+)?")) {
double num = Double.parseDouble(input); // 如果是浮点数,转换并相加
sum += Math.floor(num); // 取整后相加,因为我们保证和在整型范围内
}
}
System.out.println("数字之和为:" + sum);
scanner.close();
}
}
```
在这个代码里,我们首先创建了一个`Scanner`对象来读取标准输入。然后在一个循环中,读取每一行输入。如果输入是一个整数,我们就直接用`Integer.parseInt()`将其转换为整数并累加。如果输入是一个浮点数,我们使用`Double.parseDouble()`转换,并使用`Math.floor()`取整后再累加。
阅读全文