Skocz do zawartości

Zarchiwizowany

Ten temat jest archiwizowany i nie można dodawać nowych odpowiedzi.

Kadart

[Java] Używanie tablic - problem z tablicą stringów

Polecane posty

Mam nieco inny problem z javą. Piszę w tym języku od jakichś trzech miesięcy (podstawowy język w mojej szkole wyższej), dotychczas nie miałem jakichś większych problemów, a ostatnio muszę użyć w kodzie nowej klasy tablicy wyrazów.

Dotychczas nie używałem takiej tablicy, a google "poradziło mi" zrobić coś takiego:

String[] tablica = new String[10];
String slowo="jakies slowo";
tablica[0]=slowo;

Problem polega na tym, że podczas kompilacji wyskakuje mi coś takiego:

D:\PJWSTK\PRG\Task2\Day Class\Day.java:16: ']' expected

tablica[1]=slowo;

^

D:\PJWSTK\PRG\Task2\Day Class\Day.java:16: ';' expected

tablica[1]=slowo;

^

D:\PJWSTK\PRG\Task2\Day Class\Day.java:16: illegal start of type

tablica[1]=slowo;

^

Nie mam pojęcia, czemu to nie chce działać. Z góry dziękuję za pomoc.

EDIT: Właśnie o to chodzi, że nawet z numerem komórki nie chce się skompilować. Kompilator podkreśla mi numer komórki jako błąd(!) Niezależnie, czy kompiluję przez JCreatora czy z wiersza polecenia...

Zapoznaj się z zasadami działu - nie dopisujemy się do cudzych tematów.

[wies.niak]

Link do komentarza
Udostępnij na innych stronach

A w ogóle to proponowałbym używać implementacji interfejsu List np. ArrayList. Może są nieco wolniejsze niż czysta tablica, ale wygodniejsze w używaniu. A pisząc w Javie i tak szybkością nie ma się co przejmować :P

Link do komentarza
Udostępnij na innych stronach

Myślałem, że to błąd kompilatora, ale przeinstalowałem go i nic się nie zmieniło. Co ciekawsze, po sprawdzeniu klas taki kompilator nie podkreśla błędu gdy kompiluję ten sam kod ale w innym pliku niż ten, w którym próbuję go zaimplementować... Błąd musi leżeć gdzie indziej, ale już sam nie wiem, gdzie... chyba, że do tablicy Stringów trzeba coś importować...

Może znajdę w końcu jakiś błąd...

Kurczę... Mam wrażenie, że tu potrzebny nie informatyk, a egzorcysta...

Link do komentarza
Udostępnij na innych stronach

Kod mógłbym wkleić, ale jest on dość długi, więc wolałbym tego uniknąć. Tym bardziej, że pewnie zrobiłem jakiś bardzo głupi błąd

Napisałem całość od początku, i okazało się, że źle zrobiłem, próbując zainicjować tablicę poza funkcją main(), by mieć do niej swobodny dostęp z metod.

Czy przez to może powstać podobny błąd? :unsure:

Link do komentarza
Udostępnij na innych stronach

Hehe, w Javie nie ma zmiennych globalnych :) Trzeba dodać zmienną w klasie aplikacji i dokonać alokacji zanim się jej użyje, czyli najlepiej w main, albo w konstruktorze. Poglądowy kod (czyt. ja z Javy nie korzystam, więc może byc błąd składniowy):

class MyApp {
  String [] tablica;
  MyApp{                             //tak
    tablica = new String[10];
  };
  static int main() {               //albo tak
    tablica = new String[10];
  };
};

Link do komentarza
Udostępnij na innych stronach

Zaimplementowałem to w taki sposób:

public class Day{

public final static String[] WEEK={"Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"};

public static void main(String[] args){

//itp, itd...

}

}

(Nie wspominałem że to mają być zmienne statyczne, bo wydawało mi się to bez znaczenia.)

Używam np. WEEK[1] wyłączni wewnątrz metod lub main i jak na razie błędy mi nie wyskakują. Modlę się, by tak zostało :wink:

Dzięki wszystkim za naprawdę szybką pomoc. :smile:

Link do komentarza
Udostępnij na innych stronach



  • Kto przegląda   0 użytkowników

    • Brak zalogowanych użytkowników przeglądających tę stronę.
×
×
  • Utwórz nowe...