Incompatible Types

0

Witam, mam problem. Tworze obiekt klasy Wezel:

public class Wezel  {
     
   LinkedList<Problem> pi = new LinkedList();
   LinkedList<Problem> A  = new LinkedList() ;
}

Klasa problem wyglada tak:

public class Problem {
    public int wj; // koszt
    public int aj; // potega
    public int pj; // czas
    public int lp; // numer zadania
 
}

Lista pi i A ma przechowywac obiekty klasy problem. Nastepnie w jednej z metod klasy wezel musze przypisac obiekt z jednej listy do drugiej:

  void Zejdz_w_dół(){
         Wezel w = new Wezel();                     // pomocnicze
         LinkedList<Problem> p = new LinkedList();  // pomocnicze
        p=w.zwrocPierwszyA();<-  - incompatible types zwrocPierwszA() zwraca obiekt Problem z listyA
         w.dodajNaKoniecPi(p);<to samo co wyzej
                     }

Potrzebuje zmiennej lokalnej, zeby przechowac dane z jednej listy, usunac i nastepnie rzucic do nastepnej. Moj sposob nie dziala. Ma ktos pomysl ew. gdzie jest blad, jak zadeklarowac p? Moje gg: 1152978. Bardzo dziekuje za pomoc [diabel] </cpp>

0

po pierwsze staraj sie stosowac jakies nazewnictwo bo to co piszczesz jest strasznie zniedbane, a co do polskich znakow w nazwie klasy to NIECH CIE REKA BOSKA BRONI, a jak w Boga nie wierzysz to BRON CIE BOZE ;) a przypisanie mozesz zrobic mniej wiecej tak

Wezel w = new Wezel();
Problem p = null
if (w.zwrocPierwszyA() != null) {
  p = w.zwrocPierwszyA()) //nie wiem co to robi ale jesli to tworzy jakis obiekt itd to cos 
                                       //zwroci,ale jesli jest null to ci sie wywalalo
  w.dodajNaKoniecPi(p);
}

jesli to p naprawde mialo byc lista to wtedy

List<Problem> p = new LinkedList();
if (w.zwrocPierwszyA() != null) {
 p.Add(w.zwrocPierwszyA());
 w.dodajNaKoniecPi(p.get(p.size()-1)); //a jak to miala byc kolekcja to ja nie wiem o co ci chodzi
}

PS. kodu nie sprawdzalem pisalem tak z reki, ale ciezko cie zrozumiec o co chodzi po prostu czytaj co ci mowi log z bledami

0

Moge nie artykulowac poprawnie, bo spiesze sie, a na dodatek dluga droga przede mna jezeli chodzi o Jave. [glowa] Dzieki, juz wiem co zrobilem zle. Nawyki z C powoduja, ze chcialem bezposrednio przypisac p obiekt klasy LinkedList(pomijajac odpowiednie metody). W duzym skrocie: Mam algorytm operujacy na 2 listach wiazanych. Musze przerzucac elementy miedzy nimi (w ten sposob tworze pseudo drzewo - stany na listach okreslaja wezly drzewa).

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