任务描述:
一家企业的盈亏大概等于收入-支出组成。 现在要求你根据输入的2*n个数据计算出企业 的盈亏情况。其中2*n个数据的前一半表示收入;后一半表示支出。
解决思路:
没具体思路,看代码懂意思即可
代码示例:
package a4_2024_07;
import java.util.InputMismatchException;
import java.util.Scanner;
public class j240723_2 {
public static void main(String[] args) {
try (Scanner scanner = new Scanner(System.in)) { // 使用try-with-resources确保资源关闭
System.out.print("请输入数据量n: ");
if (!scanner.hasNextInt()) { // 检查是否为整数
System.out.println("输入错误,请输入一个整数。");
return;
}
int n = scanner.nextInt();
if (n % 2 != 0) {
System.out.println("数据量n必须为偶数");
return;
}
int totalNumbers = 2 * n;
int[] arr = new int[totalNumbers];
System.out.println("请输入" + totalNumbers + "个数据:");
for (int i = 0; i < totalNumbers; i++) {
if (!scanner.hasNextInt()) { // 检查每次输入是否为整数
System.out.println("输入错误,请输入一个整数。");
return;
}
arr[i] = scanner.nextInt();
}
int halfCount = totalNumbers / 2;
int sumFirstHalf = sumArrayPart(arr, 0, halfCount);
int sumSecondHalf = sumArrayPart(arr, halfCount, totalNumbers);
int result = sumFirstHalf - sumSecondHalf;
System.out.println("企业盈余: " + result);
} catch (InputMismatchException e) {
System.out.println("输入错误,请输入一个整数。");
}
}
// 计算数组指定部分的和
private static int sumArrayPart(int[] arr, int start, int end) {
int sum = 0;
for (int i = start; i < end; i++) {
sum += arr[i];
}
return sum;
}
}
该程序通过用户输入一组整数,然后计算出这组整数的前一半和后一半的和之差,输出结果为“企业盈余: 差值”。程序要求输入的数据量必须为偶数,否则会提示错误。