Salon automobila – rešenje

Projekat sadrži dve klase: glavnu, sa metodom main, koja upravlja tokom programa, i klasu Auto, koja opisuje automobil – navode se osobine automobila koje su bitne pri kupovini. Projekat se zove PodaciOAutomobilima, a struktura fajlova (u okruženju NetBeans) izgleda ovako:

Struktura projekta PodaciOAutomobilima u NetBeans-u: fajlovi Auto.java i PodaciOAutomobilima.java

Prvo se pravi projekat i prazna glavna klasa (zove se isto kao projekat), a zatim novi fajl Auto.java sa istoimenom klasom.

Klasa Auto

// Fajl Auto.java
// Klasa Auto opisuje automobil iz salona (5 atributa i metoda toString)
public class Auto {
    String marka;
    String boja;
    double cena;        // u evrima
    double potrosnja;   // litara na 100 km
    double kubikaza;    // zapremina motora u litrima

    // toString vraća sve podatke o automobilu kao jedan tekst
    public String toString() {
        return "Auto: " + marka + ", boja: " + boja + ", cena: " + cena + " EUR, potrosnja: "
                + potrosnja + " l/100km, kubikaza: " + kubikaza + " l";
    }
}
Napomena: slika sa kodom klase Auto nije sačuvana u kvalitetu u kome se može pročitati, pa je klasa napisana prema glavnoj klasi (atributi marka, boja, cena, potrosnja, kubikaza i metoda toString(), koju glavna klasa koristi).

Glavna klasa

Klasa Auto se koristi za pravljenje objekata koji predstavljaju automobile za prodaju. Podaci se zadaju u programu, a cenu unosi korisnik:

// Fajl PodaciOAutomobilima.java
import java.util.Scanner;

public class PodaciOAutomobilima {

    public static void main(String[] args) {
        Scanner ucitavac = new Scanner(System.in);

        Auto auto1 = new Auto();
        auto1.marka = "Fiat Punto";
        System.out.println("Unesi cenu auta 1");
        auto1.cena = ucitavac.nextDouble();
        auto1.boja = "Crvena";
        auto1.potrosnja = 6.5;
        auto1.kubikaza = 1.2;

        Auto auto2 = new Auto();
        auto2.marka = "Skoda Fabia";
        System.out.println("Unesi cenu auta 2");
        auto2.cena = ucitavac.nextDouble();
        auto2.boja = "Plava";
        auto2.potrosnja = 5.8;
        auto2.kubikaza = 1.0;

        // println automatski poziva toString()
        System.out.println(auto1);
        System.out.println(auto2);
    }
}

Primer izvršavanja

Ulaz

5000
7500

Izlaz (poslednja dva reda)

Auto: Fiat Punto, boja: Crvena, cena: 5000.0 EUR, potrosnja: 6.5 l/100km, kubikaza: 1.2 l
Auto: Skoda Fabia, boja: Plava, cena: 7500.0 EUR, potrosnja: 5.8 l/100km, kubikaza: 1.0 l

System.out.println(auto1) automatski poziva metodu toString() objekta – zato je zgodno da je svaka klasa ima.