Grupa radnika (objekti) – rešenje
Pored glavne klase pravi se i klasa koja opisuje radnika, na primer Radnik. Svaki radnik ima ime, prezime, zaradu po satu, broj radnih sati nedeljno i nedeljnu zaradu.
Klasa Radnik
// Fajl Radnik.java
// Klasa Radnik opisuje jednog radnika
public class Radnik {
String ime;
String prezime;
double zarada_po_satu;
int broj_radnih_sati; // nedeljno
double zarada; // nedeljna zarada
}

Glavna klasa
U glavnoj klasi se prave dva radnika kao objekti, unose im se podaci, zatim se računaju nedeljne zarade (zarada = broj_radnih_sati · zarada_po_satu) i ispisuju na ekranu:
// Fajl GrupaRadnika.java
import java.util.Scanner;
public class GrupaRadnika {
public static void main(String[] args) {
Radnik radnik1 = new Radnik();
Radnik radnik2 = new Radnik();
Scanner ucitavac = new Scanner(System.in); // objekat za učitavanje
System.out.println("Unesi ime i prezime prvog radnika");
radnik1.ime = ucitavac.nextLine();
radnik1.prezime = ucitavac.nextLine();
System.out.println("Unesi zaradu po satu za prvog radnika");
radnik1.zarada_po_satu = ucitavac.nextDouble();
System.out.println("Unesi broj radnih sati nedeljno za prvog radnika");
radnik1.broj_radnih_sati = ucitavac.nextInt();
ucitavac.nextLine(); // "pojede" ostatak reda posle broja (inače bi ime drugog radnika bilo prazno)
System.out.println("Unesi ime i prezime drugog radnika");
radnik2.ime = ucitavac.nextLine();
radnik2.prezime = ucitavac.nextLine();
System.out.println("Unesi zaradu po satu za drugog radnika");
radnik2.zarada_po_satu = ucitavac.nextDouble();
System.out.println("Unesi broj radnih sati nedeljno za drugog radnika");
radnik2.broj_radnih_sati = ucitavac.nextInt();
// Izračunavanje zarada
radnik1.zarada = radnik1.broj_radnih_sati * radnik1.zarada_po_satu;
radnik2.zarada = radnik2.broj_radnih_sati * radnik2.zarada_po_satu;
// Ispis rezultata
System.out.println(radnik1.ime + " " + radnik1.prezime + " zaradjuje nedeljno " + radnik1.zarada + " dinara");
System.out.println(radnik2.ime + " " + radnik2.prezime + " zaradjuje nedeljno " + radnik2.zarada + " dinara");
}
}


Primer izvršavanja
Ulaz
Petar
Petrovic
500
40
Marko
Markovic
450
35Izlaz (poslednja dva reda)
Petar Petrovic zaradjuje nedeljno 20000.0 dinara
Marko Markovic zaradjuje nedeljno 15750.0 dinaraIspravljena greška: u kodu sa stare slike ime drugog radnika se čitalo sa
nextLine() odmah posle nextInt(). Tada nextLine() pročita samo ostatak reda posle broja (prazan tekst), pa drugi radnik ostaje bez imena, a prezime dobija ono što je trebalo da bude ime. Rešenje: posle broja dodati jedan prazan poziv ucitavac.nextLine();.