编写一个Java程序,要求用户输入一个小数,包含3位整数部分和2位小数部分,如123.45。要求编写代码输出各部分对应的整数和,如123.45对应的各整数分别为1、2、3、4、5,因此会输出15。(说明:由于还没学强制类型转换,可能实际输出结果会是15.0)
时间: 2024-10-25 14:10:05 浏览: 29
在Java中,我们可以创建一个简单的控制台应用程序,让用户输入一个包含3位整数和2位小数的小数,然后通过循环遍历每一位数字,并将其转换为int类型的值求和。由于你提到未学习强制类型转换,这里我们将直接用`Character.getNumericValue()`来取得每个字符的数字值。以下是代码示例:
```java
import java.util.Scanner;
public class IntegerAndDecimalSums {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个小数,包含3位整数部分和2位小数部分(例如:123.45):");
String input = scanner.next(); // 获取用户输入的字符串
// 判断是否满足条件,如果不足则提示错误
if (!input.matches("\\d{3}(\\.\d{2})?")) {
System.out.println("输入不符合要求,必须是3位整数加2位小数!");
return;
}
// 拆分整数和小数部分
String integerPart = input.substring(0, 3);
String decimalPart = input.substring(input.indexOf('.') + 1, input.length());
// 计算整数和小数部分的和
int intSum = 0;
for (char c : integerPart.toCharArray()) {
intSum += Character.getNumericValue(c);
}
int decSum = 0;
for (char c : decimalPart.toCharArray()) {
decSum += Character.getNumericValue(c);
}
// 输出结果
System.out.println("各部分对应整数和为:" + intSum);
System.out.println("小数部分和为:" + decSum);
阅读全文