problem/pytanie z zadaniem

0

Witam !
Mam pytanie czy można połączyć Scannera i get ? Dokładniej mówiąc korzystam z toString do wyświetlenia info i chce aby dane zaczytane od użytkownika jakoś łączyły się z getterem. Przepraszam z góry za chaotyczny opis sytuacji. Pozdrawiam

0

Wczytaj dane ze skanera.
Wrzuć je przez setter/konstruktor.
Pobieraj dane przez getter.

0

Mógłbyś podpowiedzieć jak powinien wyglądać taki konstruktor, jestem jeszcze początkującym "Javowcem" :D ?

0

Konstruktor powinien oczekiwać typu, jaki chcesz mu przekazać, a następnie wrzucić to w jakieś swoje pole tak, aby można było je pobrać za pomocą gettera.

0

Nadal nie rozumiem mam taki oto kod (jakbyś coś ulepszył to także chętnie posłucham) jak wrzucić to przez settera/konstruktor, próbowałem ale głupoty wychodziły więc wolałem usunąć żeby wiochy nie narobić :p

package pracaDomowa;
import java.util.Scanner;

public class zwierzak 
{
	private String kolorSiersci;
	private int iloscLap;
	private String nazwa;
	private String gatunek;

	Scanner x = new Scanner(System.in);


public zwierzak()
	{
		System.out.println("Podaj kolor siersci");
		String kS = x.nextLine();
		System.out.println("Podaj nazwe zwierzaka");
		String nazwa = x.nextLine();
		System.out.println("Podaj gatunek zwierzaka");
		String gatunek = x.nextLine();
		System.out.println("Podaj ilość łap");		//jak było na drugim miejscu po starcie i dojściu do nZ i gZ pojawiało się razem. Why ?
		int iloscLap = x.nextInt();
		
		if (iloscLap < 0 )
		{
			System.out.println("Zwierze musi posiadać jakieś łapki!");
		}
	}


public void setkolorSiersci(String kS)
{
	kolorSiersci = kS;
}
public String getkolorSiersci()
{
	return kolorSiersci;
}
public void setiloscLap(int iL)
{
	iloscLap = iL;
}	
public int getiloscLap()
{
	return iloscLap;
}
public void setnazwa(String n)
{
	nazwa = n;
}
public String getnazwa()
{
	return nazwa;
}
public void setgatunek(String g)
{
	gatunek = g;
}
public String getgatunek()
{
	return gatunek;
}
@Override
public String toString() 
{
	return getkolorSiersci()+" "+getiloscLap()+" "+getnazwa()+" "+getgatunek();
}

}

0

Pomijając wszelkie wzorce projektowe, w konstruktorze nie twórz zmiennych lokalnych, a używaj pól klasy/ setterów. Czyli zamiast String nazwa = x.nextLine(); samo nazwa = x.nextLine(); lub setnazwa(x.nextLine()); (chociaż to nawet nie jest pełnoprawny setter).
A kod wstawiamy w znacznikach code.

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