Skocz do zawartości

Recommended Posts

Napisano

Mam zrobić program, którego poprawność działania testowane będzie przez zewnętrzny program Test.java . I teraz mój problem jest taki, że nie wiem jak zrealizować następujące warunki zadania:

a) zaimplementowanie w niepublicznej klasie Czydopłynie publicznej i statycznej metod o następującym nagłówku:

public static boolean rybka1( boolean[][] tablica );

I teraz tak. Co napiszę to wyskakują błędy (zazwyczaj jest problem z tym, że klasa jest prywatna). Teraz kombinuję tak:

class Akwarium{
    private class Czydoplynie  {
        public static boolean rybka1( boolean[][] tablica ){
                   //*tutaj będzie taka tam funkcja sprawdzająca czy rybka ma możliwość przepłynięcia

}

}
}
public static void main (String[] args) {

    }

b) Nie rozumiem czy to, co piszę ma zawierać public static void main (String[] args) czy to będzie w programie testującym :/ i który program tak na prawdę uruchamiać ma się pierwszy :/

Dodam, że program testujący wysyła tablicę, w której jest "ścieżka" (pola 0 i 1 jeżeli jest rząd jedynek w tablicy to rybka przepłynie, a mój program ma to sprawdzić, czy w wysłana tablica da wynik pozytywny czy negatywny, ale to już pozostawiam sobie)

Gdyby ktoś mógł podsunąć mi szkielet taki jak zamieszczam tylko poprawny

Ps. Zaczynamy programować w Javie i prowadzący uznał, że to prościutkie zadanie na początek a jak dla mnie początek to napisanie programu samochód i stworzenie dla niego metod typu trąbi jedzie :/ niestety mam 4 dni na zrobienie tego więc ciężko mi się przebić przez kurs Javy w takim tempie...

Napisano

Każda metoda musi należeć do jakiejś klasy, dotyczy również to public static void main. Klasy wewnętrzne nie mogą mieć statycznych metod, musisz dać ją do innego pliku, np:

Akwarium.java:

public class Akwarium {
    public static void main(String[] args) {
        System.out.println(Czydoplynie.rybka1(null));
    }
}

 

Czydoplynie.java

class Czydoplynie {
    public static boolean rybka1(boolean[][] tablica){
        //TODO
        return false;
    }
}

Polecam użyć jakiegoś dobrego IDE do pisania kodu, który będzie sporo podpowiadał i pomagał (IntelliJ - darmowa wersja, lub Netbeans)

Napisano
Problem w tym, że tak jak pisałam metody trzeba zaimplementować w NIEPUBLICZNEJ klasie (przepraszam za duże litery ale chcę podkreślić o co mi chodzi) i tutaj wywala mi błąd "modifier private is not allowed here" :(
Napisano

... hm dziwne zadanie, jak na początek nauki. Ten kod kompiluje się bez błędów może Ci pomoże

public class Akwarium {
    private  static class CzyDoplynie {
        public static boolean rybka1( boolean[][] tablica ) {
            // todo
            return false;
        }
    }
    public static void main(String[] args) {
        // próba wywołania
        CzyDoplynie.rybka1(new boolean[1][1]);
    }
}

 

Napisano
Dzięki. A myślicie, że z treści tego zadania wynika, że ta klasa ma być private, czy np. może/powinna być np. final? Ps. Dziwne to mało powiedziane o tym zadaniu :P podstawy programowania z innych języków zaczynały się od napisania np. kalkulatora i to prymitywnego :)
  • 2 weeks later...
Napisano
OK. Odpowiedź na moje pytanie powinna brzmieć: Każda klasa, która nie posiada modyfikatora jest w domyśle prywatna czyli miało być po prostu: class Akwarium Na zajęciach to wyszło :) Pozdrawiam!

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gość
Odpowiedz...

×   Wkleiłeś zawartość bez formatowania.   Usuń formatowanie

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Utwórz nowe...