/**
* @Author: DiTian
* @Description:
* @Date: Created in 15:24 2021/7/30
*/
public class SumOfThreeNums {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
Set set = new HashSet();
System.out.println("请先输入数组元素,以空格分开:");
String s = scanner.nextLine();
String[] s1 = s.split(" ");
int[] arr = new int[s1.length];
for (int i = 0; i < s1.length; i++) {
arr[i] = Integer.parseInt(s1[i]);
}
Arrays.sort(arr);
for (int i = 0; i < arr.length - 2; i++) {
int j = i+1,k=arr.length-1;
while (j<k){
if ((arr[i]+arr[j]+arr[k])==0){
List list = new ArrayList();
list.add(arr[i]);
list.add(arr[j]);
list.add(arr[k]);
set.add(list);
if (arr[j]==arr[j+1]) j++;
if (arr[k]==arr[k-1]) k--;
j++;
k--;
}else if ((arr[i]+arr[j]+arr[k])>0){
k--;
}else{
j++;
}
}
}
System.out.println(set.toString());
}
}
12-06
1185
