Skocz do zawartości

Recommended Posts

Napisano

Witam !

Mam problem z zadaniem jestem początkujący i korzystam z korepetytora który zadał mi takie oto zadanie domowe :

jest klasa Zwierzak zmienne prywatne: kolorSierci, iloscLap, nazwa, gatunek

//setters:
kolorSierci ma byc BLACK lub GREY jezeli nie to wypisz komunkat ze podano zly kolor siersci i przypisz BLACK do zmiennej prywatnej

iloscLap, nazwa dowolne

gatunek ma sie zaczynac od duzej litery (klasa Character)

getters

toString

Kod który napisałem :

package pracaDomowa;

import java.util.Scanner;

public class zwierzak

{

private String kolorSiersci= "grey";

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();

if (kS!= "grey" || kS!="black")

{

System.out.println("Podany kolor siersci musi być koloru grey lub black !");

}

else

{

System.out.println("dobrze");

}

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();

}

}

Bardzo proszę o pomoc wytłumaczenie będe bardzo ale to bardzo wdzięczny. Pozdrawiam ! :)

  • 5 months later...
Napisano

Warunek masz źle powinno być

if (!kS.equals("grey") || !kS.equals("black"))

bo != jest dedykowane dla liczb :P

Jak masz nextInt() a później nextLine() tyo problem polega na tym, ze nextInt czyta tylko liczbę i nie przechwytywał klawisza enter. 

Rozwiązanie Twojego problemu:
 

System.out.println("Podaj nazwe zwierzaka");

String nazwa = 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();
x.nextLine(); // dodatkoa linia by przechwytywała klawisz enter

System.out.println("Podaj gatunek zwierzaka");

String gatunek = x.nextLine();

 

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gość
Odpowiedz...

×   Wkleiłeś zawartość bez formatowania.   Usuń formatowanie

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Utwórz nowe...