Kompilacja poprzez online IDE - paiza.io

0

Cześc wszystkim,
stawiam pierwsze kroki w javie, niestety z powodu warunków środowiskowych jestem zmuszony pisać w online IDE. Wybór padl na paiza.io, gdyż inne niezbyt działają na internet explorer, którego zmienic nie mogę.
Problem jest następujący:

Po napisaniu kodu umieszczonego w 3 plikach (kod zamieszczony na samym dole) otrzymuję następujący błąd:

Error: Could not find or load main class Main
Caused by: java.lang.ClassNotFoundException: Main

Kod programu:
ProstyPortalGra.java

  public class ProstyPortalGra{
    
 public static void main (String[] args) {

	int iloscRuchow = 0;
  	ProstyPortal portal = new ProstyPortal();
  	PomocnikGry pomocnik = new PomocnikGry(); //specjalna napisana klasa z metodą pobierającą dane wejściowe
    int liczbaLosowa = (int) (Math.random() * 5); //generujemy liczbę losową do pierwszej komórki tablicy
    int [] polozenie = {liczbaLosowa, liczbaLosowa +1, liczbaLosowa +2}; 
  	portal.setPolaPolozenia(polozenie); //przekazujemy do obiektu portal jego położenie
    boolean czyIstnieje = true; //zmienna logiczna stanu gry
      
      
      while (czyIstnieje == true){//zmienna logiczna stan gry
      String pole = pomocnik.pobierzDaneWejsciowe("Podaj liczbe"); //pobieramy łańcuch znaków podany przez gracza
      String wynik = portal.sprawdz(pole);
      iloscRuchow++;
      
        if (wynik.equals("zatopiony")){
      czyIstnieje = false;
      System.out.println(iloscRuchow + " ruchów");
        }
      }
    
    }
  }

ProstyPortal.java


public class ProstyPortal{
  
  int[] polaPolozenia;
  int iloscTrafien;


public String sprawdz(String stringPole){
  
    int strzal = Integer.parseInt(stringPole); //konwersja łańcucha znaków na liczbę całkowitą
  	String wynik = "pudło";
  
  	for (int pole : polaPolozenia) { //czynności w pętli powtarzane dla każdej komórki tablicy, okreslającej położenie portalu
    	if (strzal == pole) {//PORÓWNAJ pole wskazane przez gracza z polami położenia
    	wynik = "trafiony";
    	iloscTrafien++;
      	break;
    }
  }
      if (iloscTrafien == polaPolozenia.length){//SPRAWDŹ, czy to była ostatnia komórka Portal
    	wynik = "zatopiony"; //JEŚLI ilośc trafień jest równa 3, ZWRÓĆ wynik "Zatopiony"
      }
 
  System.out.println(wynik);
  return wynik;
}


void setPolaPolozenia(int[] ppol){
  polaPolozenia = ppol;
}
}

PomocnikGry.java

import java.io.*; 

public class PomocnikGry {
  public String pobierzDaneWejsciowe(String komunikat) {
    String wierszWej = null;

    System.out.print(komunikat + " ");
    try {
      BufferedReader sw = new BufferedReader(
        new InputStreamReader(System.in));
      wierszWej = sw.readLine();
      if (wierszWej.length() == 0) return null;
    } catch (IOException e) {
      System.out.println("IOException: " + e);
    }
    return wierszWej;
  }
}

Prosze o pomoc, gdyż hamuje mnie to w dalszym rozwoju.

1

Wychodzi na to, że w tym IDE klasa która jest uruchamiana musi się nazywać Main. Zmień nazwę klasy ProstyPortalGra na Main i odpowienio nazwę pliku i się uruchomi. Chociaż po uruchomieniu leci NullPointerException

0

Rzeczywiście, zwraca taki wyjątek. Pytanie, czy to wina IDE, czy mój błąd przy kopiowaniu klasy PomocnikGry ;)

0

Twój błąd

1 użytkowników online, w tym zalogowanych: 0, gości: 1