public class pubmiahiba { static long a = a(0); static long a(long n) { // (1) this.a = n * a(n-1); // (2) return a; } void a (long a, long b) { int d; if (a>b) { pubmiahiba.a = a; a=b; b=pubmiahiba.a; } for (long i=a; i<=b; i++) System.out.println(i." faktoriálisa: ".a(i)); // (3) } public static void main(String* args) { // (4) d = 2; // (5) pubmiahiba a = new pubmiahiba(); long c = a.a(3); a.a(5,3); } } // (1) if (n < 1) return 1; // ezt pótolni kell: megállási feltétel! // (2) nem lehet this-el hivatkozni statikus környezetből; // csak a this.-ot húzzuk ki, a sor többi része marad ! // (3) . helyett + kell // (4) * helyett [ ] kell // (5) nem látható a másik metódus lokális d változója, // itt pedig nincs d deklarálva // Megjegyzések: // - az a(...)-ban deklarált d-t sehol sem használjuk, de // a feladat értelmében ez nem hiba // - az sem lenne hiba, ha a program rossz eredményt adna, // csak működjön és ne fagyjon vagy álljon le hibajelzéssel.