Wczytywanie za pomocą Scanner do ArrayList.

0

Cześć!

Chcę podać liczby za pomocą funkcji Scanner i zapisać je do ArrayList jednak nie wiem jak to zrobić.

Mam napisany kod gdzie sztywno wprowadzam te liczby. Zamysłem początkowym jest biorąc pod uwagę tablicę liczb całkowitych, w której każda liczba całkowita występuje trzy razy z wyjątkiem jednej liczby całkowitej, która występuje tylko raz, znajdź i zwróć nieduplikowaną liczbę całkowitą.

Bardzo proszę o pomoc jak zapisać w ArrayList właśnie te liczby

import java.util.ArrayList;
import java.util.Collections;

public class zad40 {
  static int getSingle(ArrayList<Integer> list)
  { 
    for(int i=0;i<list.size();i++){
      if (Collections.frequency(list,list.get(i)) == 1)
        return list.get(i);
    }
    return 0;
  }
}
public class Main {
  public static void main(String[] args) { 
    System.out.println("\nZadanie 40");
    ArrayList<Integer> b = new ArrayList<Integer>();
    b.add(3);
    b.add(4);
    b.add(3);
    b.add(3);
    b.add(2);
    b.add(4);
    b.add(4);
    System.out.println(zad40.getSingle(b));
  }
0

Po kolei:

  1. Scanner to nie jest funkcja, tylko klasa obiektów lub obiekt. Różnica jest taka jak pomiędzy pokazywaniem obrazu (funkcja), a telewizorem co stoi w salonie (obiekt).

  2. Podstawowe pytanie jest - skąd Scanner ma brać dane? Tj. Scanner może brać dane z różnych źródeł. Dla zwykłego łańcucha znaków wygląda to tak:

    private List<Integer> read(String text) {
        Scanner s = new Scanner(text);
        List<Integer> result = new ArrayList<>(); 
        while (s.hasNextInt()) {
            result.add(s.nextInt());
        }
    
        return result;
    }
    

1 użytkowników online, w tym zalogowanych: 0, gości: 1