vbia Napisano Grudzień 2, 2014 Zgłoś Udostępnij Napisano Grudzień 2, 2014 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... Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Mateusz Napisano Grudzień 3, 2014 Zgłoś Udostępnij Napisano Grudzień 3, 2014 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) Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
vbia Napisano Grudzień 3, 2014 Autor Zgłoś Udostępnij Napisano Grudzień 3, 2014 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" :( Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Mavo Napisano Grudzień 4, 2014 Zgłoś Udostępnij Napisano Grudzień 4, 2014 ... 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]); } } Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
vbia Napisano Grudzień 5, 2014 Autor Zgłoś Udostępnij Napisano Grudzień 5, 2014 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 :) Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
vbia Napisano Grudzień 17, 2014 Autor Zgłoś Udostępnij Napisano Grudzień 17, 2014 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! Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.