• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Wyświetlanie tablic JAVA metoda to String

Object Storage Arubacloud
0 głosów
1,794 wizyt
pytanie zadane 21 sierpnia 2017 w Java przez karol928 Początkujący (320 p.)

Prosiłbym o pomoc, program lakoniczny ale dlaczego jest taki problem kiedyś już używałem tej moteody i wsyzstko działało a dziś ( Arrays.toString(o) ) wali mi śmieci z pamięci (

[obiekt.Obiekt1@7852e922, obiekt.Obiekt1@4e25154f, obiekt.Obiekt1@70dea4e]


)

 

 

package obiekt;

import java.util.*;

public class Obiekt1 
{
	private String name = "S";
	private int age = 0;
	private int sallary = 0;
	
	public Obiekt1(String name,int age,int sallary)
	{
		this.name=name;
		this.age=age;
		this.sallary=sallary;
	}
	

}


package obiekt;
import java.util.*;

public class Obiekt2 {

	public static void main(String [] args )
	{
		
		
		Obiekt1 [] o = new Obiekt1 [3];
		o[0]=new Obiekt1("siwa",24,56);
		o[1]=new Obiekt1("asdga",45,67);
		o[2]=new Obiekt1("sag",43,26);
		
		for(Obiekt1 p: o)
		{
			System.out.println(Arrays.toString(o));
		}
			
	}
	
	
	
}

 

2 odpowiedzi

0 głosów
odpowiedź 21 sierpnia 2017 przez mbabane Szeryf (79,280 p.)
Mozliwe ze dlatego ze klasa Obiekt1 nie ma wlasnego toStringa i korzysta z tego standardowego z klasy Object.
komentarz 21 sierpnia 2017 przez karol928 Początkujący (320 p.)
Czyli stowrzyć w klasie Obiekt1 pustą  metode toString, która przysłoni metodę z wirtualnej klasy Obiect ?
komentarz 22 sierpnia 2017 przez mbabane Szeryf (79,280 p.)

Do klasy Obiekt1 dodaj:

 @Override
    public String toString()
    {
        return "Obiekt1{" + "name=" + name + ", age=" + age + ", sallary=" + sallary + '}';
    }

A w mainie wywolaj tak:

System.out.println(Arrays.toString(o));

 

0 głosów
odpowiedź 21 sierpnia 2017 przez xenonso Mądrala (5,160 p.)

Tak na szybko patrze i w klasie Obiekt2 w pętli zamień miejscami p oraz o i powinno zadziałać

A i najlepiej metodę toString definiować w klasie np. tak

@Override
	public String toString() {
		return "Obiekt1 [name=" + name + ", age=" + age + ", sallary=" + sallary + "]";
	}

 

komentarz 21 sierpnia 2017 przez karol928 Początkujący (320 p.)
Niestety bylo by to zbyt proste.
komentarz 21 sierpnia 2017 przez xenonso Mądrala (5,160 p.)
Czekaj, chcesz po prostu wypisać obiekty z tablicy?
komentarz 21 sierpnia 2017 przez karol928 Początkujący (320 p.)
Dokładnie, chcę wypisać wartości podanych 3 elementów z tablicy.
komentarz 21 sierpnia 2017 przez xenonso Mądrala (5,160 p.)
public class Obiekt2 {
 
    public static void main(String [] args )
    {
         
         
        Obiekt1 [] o = new Obiekt1 [3];
        o[0]=new Obiekt1("siwa",24,56);
        o[1]=new Obiekt1("asdga",45,67);
        o[2]=new Obiekt1("sag",43,26);
         
        for(Obiekt1 p: o)
        {
            System.out.println(p);
        }
             
    }
        
}

public class Obiekt1 
{
    private String name = "S";
    private int age = 0;
    private int sallary = 0;
     
    public Obiekt1(String name,int age,int sallary)
    {
        this.name=name;
        this.age=age;
        this.sallary=sallary;
    }

	@Override
	public String toString() {
		return "Obiekt1 [name=" + name + ", age=" + age + ", sallary=" + sallary + "]";
	}
     
    
}


 

komentarz 22 sierpnia 2017 przez karol928 Początkujący (320 p.)
Czyli przesłonięcie motedy toString, ewentualnie można też zrobić publiczne metody np: getName , getAge , getSallary odpowiednich typów i w pętli for each wywołać je w System.out.println(p.getName+p.getAge+p.getSallary). Dzięki za pomoc.

Podobne pytania

0 głosów
1 odpowiedź 602 wizyt
pytanie zadane 19 marca 2016 w Java przez Mar Cin Dyskutant (8,900 p.)
0 głosów
1 odpowiedź 92 wizyt
pytanie zadane 19 sierpnia 2021 w C# przez Pawel1995 Gaduła (3,810 p.)
0 głosów
2 odpowiedzi 127 wizyt
pytanie zadane 21 lipca 2017 w Java przez LukasHardwares Początkujący (490 p.)

92,536 zapytań

141,377 odpowiedzi

319,456 komentarzy

61,922 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...