我们有两个差异阵列,即 array1 &的数组2 即可。单独找出它们的总和并进行比较
他们的总和并打印' - 1'如果第一个数组的总和小于
第二个数组打印'1'。
int array1[] = new int[3]; // array one
int array2[] = new int[3]; // array two
int sum1= 0, sum2= 0;
for(int i=0; i<=2; i++){
array1[i] = scanner.nextInt(); // storing value by user in first array
array2[i] = scanner.nextInt(); // storing value by user in second array
}
for(int a1 : array1){
sum1 += a1; // sum of array
}
for(int a2 : array2){
sum2 += a2; // sum of array2
}
if(sum1<sum2){
System.out.print("-1");} //print -1 if sum1 is less than sum2
else{
System.out.println("1");}
我试图尽可能紧凑地执行此程序,但我不知道如何做到这一点。 任何人都可以告诉我这个代码的紧凑程序
答案 0 :(得分:1)
您可以用一个循环替换3个循环:
for(int i=0; i<=2; i++){
array1[i] = scanner.nextInt(); // storing value by user in first array
array2[i] = scanner.nextInt(); // storing value by user in second array
sum1 += array1[i];
sum2 += array2[i];
}
答案 1 :(得分:0)
试试这个:
int sum1 = Arrays.stream(array1).sum();
int sum2 = Arrays.stream(array2).sum();
int result = Integer.compare(sum1, sum2); //-1, 0 or 1
System.out.println("" + result);
或更短:
System.out.println("" + Integer.compare(Arrays.stream(array1).sum(), Arrays.stream(array2).sum()));