Witam, mam pewien problem a dokładniej stworzyłem obiekt , jak widać są trzy funkcje , jedna prosi użytkownika od podanie od jakiej listy ma zacząć do której listy. Drugi wpisuje dane a trzeci je wypisuje. Ogólnie program w zasadzie działa bo nie wywala błędu ale program kończy się wartościami null. Macie jakieś sugestie które umożliwiły by naprawić ten błąd? A może w ogóle inaczej powinienem to napisać?
import java.util.Scanner;
class Praca
{
int Pracownicy[] = new int[30];
String imie[] = new String[30];
String nazwisko[] = new String[30];
int wiek[] = new int[30];
}
public class PoleKwadrat {
private static Praca Pracownik()
{
Praca pracownik = new Praca();
return pracownik;
}
public static void Od_do()
{
Scanner from = new Scanner(System.in);
Scanner to = new Scanner(System.in);
System.out.println("Podaj odkąd zacząć wprowadzać(1-30)?");
int start = from.nextInt();
while(start <=0 & start >30)
{
System.out.println("Wprowadź dobrą liczbę!!!");
start = from.nextInt();
}
System.out.println("Podaj dokąd wprowadzić(1-30)?");
int stop = to.nextInt();
while((stop <=0 & stop >30) || (stop < start))
{
System.out.println("Podaj poprawną liczbę");
stop = to.nextInt();
}
Wpisz(start,stop);
}
public static void Wpisz(int start, int stop)
{
Pracownik();
for(int i = (start-1); i <=(stop-1);i++)
{
Scanner name = new Scanner(System.in);
Scanner surname = new Scanner(System.in);
Scanner age = new Scanner(System.in);
Pracownik().Pracownicy[i]= (i+1);
System.out.println("Podajesz dane dla pracownika nr" + (i+1));
System.out.println("Podaj imię");
String imie = name.nextLine();
Pracownik().imie[i] = imie;
System.out.println("Podaj nazwisko");
String nazwisko = surname.nextLine();
Pracownik().nazwisko[i] = nazwisko;
System.out.println("Podaj wiek");
int wiek = age.nextInt();
Pracownik().wiek[i] = wiek;
}
Wypisz(start,stop);
}
public static void Wypisz(int start, int stop)
{
Pracownik();
for(int i=(start-1);i <=(stop-1);i++)
{
System.out.println("Pracownik Nr " + (i+1) + ":");
System.out.println("Imię: " + Pracownik().imie[i]);
System.out.println("Nazwisko: " + Pracownik().nazwisko[i]);
System.out.println("Wiek: " + Pracownik().wiek[i]);
}
}
public static void main(String[] args)
{
Od_do();
}
}
A wynik jest następujący
:
Wygląda to tak jakby mimo tego obiekt nie przyjmował wartości podanych przez użytkownika.
Z góry wielkie dzięki!