Witam,
zaczynam etap nauki o konstruktorach. Testuję przeciążenie konstruktora lecz program wysypuje mi się w pewnym momencie a ja nie wiem dlaczego. Możecie coś poradzić? Oto kod:
Klasa Auto.java:
public class Auto
{
private String model;
private short rokProdukcji;
private int przebieg;
private String kolor;
private double cena;
public Auto()
{
model = "Mercedes";
rokProdukcji = 2010;
przebieg = 100000;
kolor = "Srebrny";
cena = 20000.0;
}
/*public Auto(byte rokProd)
{
}*/
public Auto(String kolOr, double ceNa)
{
cena = ceNa;
if (kolOr.equals(kolor.toLowerCase() == "czarny")) //jesli podany parametr jest rowny "czarny" (gdzie czarny moze byc pisany kazda wielkoscia liter)
{
kolor = "WYBRANY KOLOR NIEDOSTĘPNY!";
}
else kolor = kolOr;
}
//akcesory
public String getModel() { return model; }
public short getRokProdukcji() { return rokProdukcji;}
public int getPrzebieg() { return przebieg; }
public String getKolor() { return kolor; }
public double getCena() { return cena; }
//mutatory
public void setModel(String Model) { model = Model; }
public void setRokProdukcji(short Rok) { rokProdukcji = Rok; }
public void setPrzebieg(byte Przebieg) { przebieg = Przebieg;}
public void setKolor(String Kolor) { kolor = Kolor; }
public void setCena(byte Rok) { rokProdukcji = Rok; }
}
A tutaj kod Main.java:
import java.util.*;
public class Main
{
public static void main(String[] args)
{
Auto autko = new Auto("kjgjkjg", 2500.00); //tworze obiekt autko
System.out.println("Model: " + autko.getModel());
System.out.println("Cena: " + autko.getCena());
System.out.println("Kolor: " + autko.getKolor());
System.out.println("Rok produkcji: " + autko.getRokProdukcji());
System.out.println("Przebieg: " + autko.getPrzebieg());
}
}
Po uruchomieniu programu otrzymuję taki oto błąd:
java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.lang.String.toLowerCase()' on a null object reference
at Auto.<init>(Auto.java:27)
at Main.main(Main.java:15)
at java.lang.reflect.Method.invoke(Native Method)
at com.aide.ui.build.java.RunJavaActivity$1.run(SourceFile:108)
at java.lang.Thread.run(Thread.java:784)