Witam pisze pod UML-em w Netbeansie tzn zaczynam “przygode” z UML-em , program “wypozyczalnie filmów”.
Po skompilowaniu kilku klas: Film.java, Tytul_filmu.java, Uchwyt.java pojawia sie problem ;-(
Odpalam program za pomoca Uchwyt.java tutaj kod:
import java.util.ArrayList;
public class Uchwyt {
private ArrayList mTytul_filmu = new ArrayList();
public void dodaj_tytul (String a, String b, String c, String d, String e, String f)
{
Tytul_filmu tytul_filmu=new Tytul_filmu();
tytul_filmu.setTytul(a);
tytul_filmu.setRezyseria(b);
tytul_filmu.setGatunek(c);
tytul_filmu.setPremiera(d);
tytul_filmu.setObsada(e);
tytul_filmu.setCzas_trwania(f);
addTytul_filmu(tytul_filmu);
}
//////////////////////////////////////////////////////////////
public ArrayList getTytul_filmu () {
return mTytul_filmu;
}
public void setTytul_filmu (ArrayList val) {
this.mTytul_filmu = val;
}
public void addTytul_filmu (Tytul_filmu tytul_filmu)
{if(! mTytul_filmu.contains(tytul_filmu))
mTytul_filmu.add(tytul_filmu);}
public void Dodaj_film(String Gatunek_, int numer_)
{
Tytul_filmu pom=new Tytul_filmu();
pom.setGatunek(Gatunek_);
int idx=mTytul_filmu.indexOf(pom);
if (idx!=-1)
{Tytul_filmu pom1=mTytul_filmu.get(idx);
pom1.dodaj_film(numer_);
System.out.println(pom1.getFilm().toString());
}
//////////////////////////////////////////////////////////
}
public static void main(String t[])
{
Uchwyt ap=new Uchwyt();
ap.dodaj_tytul("1","1","1","1","1","1");
ap.dodaj_tytul("2","2","2","2","2","2");
ap.dodaj_tytul("2","2","2","2","2","2");
String lan=ap.getTytul_filmu().toString();
System.out.println(lan);
ap.Dodaj_film("1",1);
ap.Dodaj_film("1",2);
ap.Dodaj_film("1",2);
ap.Dodaj_film("2",1);
}
}
tutaj : Film.java
public class Film {
private int numer;
private Tytul_filmu mTytul_filmu;
public int getNumer ()
{ return numer; }
public void setNumer (int _numer) {
numer = _numer;
}
public Film ()
{}
public boolean equals (Object ob) {
return numer==((Film)ob).getNumer();
}
public Tytul_filmu getTytul_filmu ()
{ return mTytul_filmu; }
public void setTytul_filmu(Tytul_filmu val)
{ mTytul_filmu=val; }
public String toString()
{String pom= mTytul_filmu.toString();
pom+="Numer: "+getNumer();
return pom;
}
}
Tytul_filmu:
import java.util.ArrayList;
public class Tytul_filmu {
private String Rezyseria;
private String Gatunek;
private String Premiera;
private String Obsada;
private String Czas_trwania;
private String Tytul;
private ArrayList mFilm;
public Tytul_filmu () {
}
public String getCzas_trwania () {
return Czas_trwania;
}
public void setCzas_trwania (String f) {
Czas_trwania = f;
}
public String getGatunek () {
return Gatunek;
}
public void setGatunek (String c) {
Gatunek = c;
}
public String getObsada () {
return Obsada;
}
public void setObsada (String e) {
Obsada = e;
}
public String getPremiera () {
return Premiera;
}
public void setPremiera (String d) {
Premiera = d;
}
public String getRezyseria () {
return Rezyseria;
}
public void setRezyseria (String b) {
Rezyseria = b;
}
public String getTytul () {
return Tytul;
}
public void setTytul (String a) {
Tytul = a;
}
/////////////////////////////////////
public boolean equals(Object ob)
{boolean a;
a=Gatunek.equals(((Tytul_filmu)ob).getGatunek());
System.out.println(a);
return a;
}
//////////////////////////////////
public String toString () {
String pom="Tytul: "+getTytul();
pom+="Rezyser: "+getRezyseria();
pom+="Gatunek: "+getGatunek();
pom+="Premiera: "+getPremiera();
pom+="Obsada: "+getObsada();
pom+="Czas_trwania: "+getCzas_trwania();
return pom;
}
////////////////////////////////
public void dodaj_film(int numer_)
{ Film nowa=new Film();
if(nowa != null)
{nowa.setNumer(numer_);
addFilm(nowa);}
}
public void addFilm(Film nowa)
{ if(!this.mFilm.contains(nowa))
{ this.mFilm.add(nowa);
nowa.setTytul_filmu(this); }
}
public ArrayList getFilm()
{return mFilm; }
public void setFilm(ArrayList val)
{this.mFilm = val;}
}
No i po kompilacji i uruchomieniu Uchwyt.java wyswietla mi sie nastepujacy komunikat:
Exception in thread "main" java.lang.NullPointerException
at Tytul_filmu.addFilm(Tytul_filmu.java:101)
at Tytul_filmu.dodaj_film(Tytul_filmu.java:97)
at Uchwyt.Dodaj_film(Uchwyt.java:41)
at Uchwyt.main(Uchwyt.java:57)
Java Result: 1
tutaj caly debug:
debug:
false
false
true
[Tytul]
true
Exception in thread "main" java.lang.NullPointerException
at Tytul_filmu.addFilm(Tytul_filmu.java:101)
at Tytul_filmu.dodaj_film(Tytul_filmu.java:97)
at Uchwyt.Dodaj_film(Uchwyt.java:41)
at Uchwyt.main(Uchwyt.java:57)
Java Result: 1
BUILD SUCCESSFUL (total time: 2 seconds)
Prosze o pomoc bardziej doswiadczonych Uzytkowników .