Witajcie. Robię prosty program w Javie, którego celem jest wypisanie podanych danych. Wszystko jest pięknie do momentu, gdy chce zapętlić maina (dodanie kolejnego ucznia lub wyjście z pętli while). W linijce z "b = 0" otrzymuje błąd "error: non-static variable b cannot be referenced from a static context". Kombinuje i kombinuje - ciągle błędy. Bardzo proszę o pomoc i z góry dziękuje za zainteresowanie.
import java.io.*;
import javax.swing.JOptionPane;
public class zad7b {
private String imie;
private int iloscOcen;
private int b;
private double[] oceny;
public static void main(String[] args) {
int a = 1;
while(a > 0){
zad7b uczen = new zad7b();
uczen.imie = JOptionPane.showInputDialog("Podaj imię:");
uczen.iloscOcen = Integer.parseInt(JOptionPane.showInputDialog("Podaj ilość ocen"));
uczen.oceny = new double[uczen.iloscOcen];
int z=1;
for (int i = 0; i < uczen.iloscOcen; i++) {
uczen.oceny[i] = Double.parseDouble(JOptionPane.showInputDialog("Podaj ocenę numer " + z));
z++;
}
uczen.wyswietlDane(uczen.liczSrednia());
uczen.b = Integer.parseInt(JOptionPane.showInputDialog("Dodać kolejnego ucznia? (1/0)"));
if (b = 0)
{
a = a-1;
}
}
}
private double liczSrednia(){
double suma=0;
for(double x:oceny)
suma+=x;
return suma/iloscOcen;
}
private void wyswietlDane(double srednia){
System.out.println("Imię ucznia: "+imie);
System.out.println("Ilość ocen: " +iloscOcen);
System.out.println("Oceny: ");
for(double x:oceny)
System.out.print(x+", ");
System.out.println("Średnia: " + srednia);
}
}