dzień dobry,
mam jedna klasę, tablicę obiektów typu tej klasy, i eclipse zwraca warning, że atrybuty klasy nie są używane lokalnie i faktycznie coś w tym jest bo w momencie użycia metody która powinna zainicjalizowac atrybut występuje błąd Exception in thread "main" java.lang.NullPointerException
To co w komentarzach to tylko moje własne notatki, proszę nie zwracac uwagi : ) dziękuje i pozdrawiam
package cwiczenie2;
import java.util.Random;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Scanner; //wczytywanie
public class cwiczenia2 {
public static void main(String[] args) {
String tempN;
int tempI=0,tempS=0;
Scanner sc = new Scanner(System.in);//obiekt sc ktory mi pozwoli wczytywać z klawiatury
/*/Random losowana = new Random(); // obiekt losowanie ktory moze odwolac sie do metody klasy Random która wylosuje mi liczbe
int nrLosowy = losowana.nextInt() % 100;
System.out.println("Jak duzo studentow chcesz wczytac ?");
/*/int ilosc_s = sc.nextInt();/*/ //odwolouje sie do meotdy nextInt() klasy Scanner przez obiekt sc która pozowola miwczytać do int
System.out.print("Podaj Twoje imie: ");
String iWpisujacego = sc.next(); // tutaj wczytuje stringa też przez scannera'a ale 1) musi być import java.util.Scanner; 2.)Obiekt klasy Scanner prze który będziemy wywoływac funkcje klasy/*/
student[] uczen = new student[ilosc_s];
for(int i=0; i<ilosc_s; i++)
{
System.out.println("Podaj nr indeksu studenta nr "+(i+1));
tempI=sc.nextInt();
uczen[i].nadajNumer(tempI);
System.out.println("Podaj nazwisko studenta "+tempI);
tempN = sc.next();
uczen[i].nadajNazwisko(tempN);
System.out.println("Podaj srednia studenta "+tempI);
tempS = sc.nextInt();
uczen[i].nadajSrednia(tempS);
}
}
}
class student
{
student() {};
private String nazwisko;
private int srednia;
private int nrIndeksu;
public void nadajNumer(int a) {this.nrIndeksu = a;}
public void nadajNazwisko(String n) {this.nazwisko = n;}
public void nadajSrednia(int s) {this.srednia = s;}
}