Hej,
Funkcja findPairs(List<Integer>integers,Integer sum)
sprawdza warunek A+B=C i gdy jest spełniony zapisuje pary integerow A i B do tablicy typu Integer[]
, a nastepnie tablice do listy, którą ta funkcja zwraca. Niestety nie potrafię odczytac ani dostać się do zapisanych par integerow w tej liscie. Czy ktoś pomoże?
public class Main {
public static void main(String[] args) {
List<Integer>list=new ArrayList<>(20);
list=generateArrayListOfIntegers(-20,20,50);
List<Integer[]> listofPairs=new ArrayList<>();
//for(Integer i:list){
// System.out.println(i);
// }
//System.out.println(findPairs(list, 10)); nie dziala
listofPairs=findPairs(list,10);
for( Integer[] pairs : listofPairs) {
//System.out.println(Arrays.toString(pairs));//pokazuje zle dane
}
}
public static List<Integer> generateArrayListOfIntegers(int minimumValue,int maxValue,int size){
List<Integer> ListOfIntegers=new ArrayList<>(size);
Random rand=new Random();
Integer randomNum;
for(int i=0;i<size;i++){
randomNum=minimumValue+rand.nextInt((maxValue-minimumValue)+1);
ListOfIntegers.add(randomNum);
}
return ListOfIntegers;
}
public static List<Integer[]> findPairs(List<Integer>integers,Integer sum){
Integer[]pair=new Integer[2];
List<Integer[]> listOfPairs=new ArrayList<>();
for(int i=0;i<integers.size();i++){
if(sum<integers.get(i)){
continue;
} else {
pair[0]=integers.get(i);
for(int j=i+1;j<integers.size();j++){
if(pair[0]+integers.get(j)==sum){
pair[1]=integers.get(j);
listOfPairs.add(pair);
continue;
}
}
}
}
return listOfPairs;
}
}