用java完成问题:实际审计实务中,初采集的数据的质量往往很难得到保证,从某公司系统中采集的从2019年1月开始的月度资金使用情况56736681,,91,,114,77,”,编写程序,实现以下功能 (1)将缺失项用0代替并显示缺失的具体月份; (2)将有数值的项进行显示,并显示对应月份; (3)显示金额最大的月份;显示金额最小的月份,以及2019年度使用资金总额。 原始数据定义: mstring="56,,73,66,81,,,91,,114,77,'
时间: 2024-03-07 16:49:26 浏览: 71
好的,我来帮您用Java完成这道题目。
您可以将原始数据定义为一个字符串类型,然后通过字符串分割和字符转换等操作,将其转换为整数类型的数组,再根据题目要求实现三个功能。
下面是Java代码实现:
```
public static void main(String[] args) {
String mstring = "56,,73,66,81,,,91,,114,77,";
String[] strArr = mstring.split(",");
int[] intArr = new int[strArr.length];
for (int i = 0; i < strArr.length; i++) {
if (strArr[i].equals("")) {
intArr[i] = 0;
System.out.println("第" + (i + 1) + "个月的数据缺失");
} else {
intArr[i] = Integer.parseInt(strArr[i]);
System.out.println("第" + (i + 1) + "个月的使用资金为" + intArr[i]);
}
}
int maxMonth = 0, minMonth = 0, totalAmount = 0, maxAmount = Integer.MIN_VALUE, minAmount = Integer.MAX_VALUE;
for (int i = 0; i < intArr.length; i++) {
if (intArr[i] > maxAmount) {
maxAmount = intArr[i];
maxMonth = i + 1;
}
if (intArr[i] < minAmount && intArr[i] != 0) {
minAmount = intArr[i];
minMonth = i + 1;
}
totalAmount += intArr[i];
}
System.out.println("金额最大的月份为第" + maxMonth + "个月,使用资金为" + maxAmount);
System.out.println("金额最小的月份为第" + minMonth + "个月,使用资金为" + minAmount);
System.out.println("2019年度使用资金总额为" + totalAmount);
}
```
首先将原始数据字符串分割成一个字符串数组,然后遍历数组将空字符串转换为0,非空字符串转换为整数,并根据题目要求输出缺失项和有数值的项。
接下来遍历整数数组,找到最大值、最小值和总和,并记录对应的月份。
最后输出金额最大的月份、金额最小的月份和2019年度使用资金总额。
希望这个Java解答能够帮到您。
阅读全文