Problem z wyświetleniem obiektów

0

W klasie Lista mam metodę utwórz, która tworzy mi losowe karty. Kiedy jednak chcę wyświetlić te utworzone karty wyświetla się takie coś: karta.Karta@14487c8. Co robię nie tak? Z góry dziękuję za pomoc.

 public void utworz()
	{	 
		Random rand = new Random();
		int w=1; int k;
		
			 while (w!=0)
		 	 {
				 w = rand.nextInt(14);
			 	 k = rand.nextInt(4);
			 		
			 	 if (w!=0)
				 karty.add(new Karta(w,k));
		 	 }
			 
		System.out.println("Karty zostały utworzone.");
	}
public void wyswietl()
	{
		for (Karta k: karty)
    	{
    		System.out.println(k.toString());
    	}
	} 
0
public void wyswietl(List<Karty> lista)
        {
                foreach(Karty karty in lista)
                             System.out.println("co tam chcesz");
        } 

O to chodzi?

0
while (w!=0)
                          {
                                 w = rand.nextInt(14);
                                  k = rand.nextInt(4);
 
                                  if (w!=0)
                                 karty.add(new Karta(w,k));
                          }

początkowo masz w=1 więc while się wykona ( przynajmniej zacznie ). Ale już w while() "w" się losuje i to może być zero. Efektem jest brak wykonania się if-a i całej pętli.. Przedebaguj kod.

2

W klasie Karta napisz metodę toString(), która wyświetli to co chcesz zwróci taki String opisujący obiekt jaki jest Ci potrzebny. Jak jej nie napiszesz, to stosowana jest metoda toString() z klasy bazowej (Object), która zwraca: nazwa_klasy+"@"+referencja.

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