问题描述: | 问题描述 有 N 个非零且各不相同的整数。请你编一个程序求出它们中有多少对相反数(a 和 -a 为一对相反数)。 输入格式 第一行包含一个正整数 N。(1 ≤ N ≤ 500)。 输出格式 只输出一个整数,即这 N 个数中包含多少对相反数。 样例输入 5 样例输出 2 |
package oppNum;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();// 整数个数
List<Integer> li = new ArrayList<>();// 存储整数集合
int result = 0;// 输出结果
for (int i = 0; i < n; i++) {
int temp = sc.nextInt();// 临时变量存储输入值
if (li.contains(-temp))// 判断集合中是否存在该整数的相反数
result++;// 存在则结果递增
else
li.add(temp);// 否则将该整数添加进集合
}
System.out.println(result);
}
}