Podstawy w Javie

Podstawy w Javie
C9
  • Rejestracja:ponad 8 lat
  • Ostatnio:ponad 3 lata
  • Postów:31
0

Witam. Mam pewien problem, mianowicie nie mam zielonego pojecia jak wczytac dane z pliku pod odpowiednie zmienne. Z calego zdania mam zrobic jakby 4 zmienne.
Przyklad:
w pliku:Jan Kowalski 17 20.8
imie=Jan
nazwisko=Kowalski
wiek=17
skutecznosc 20.8
Ktos wie jak to zrobic?? Z gory dzieki za pomoc :P

J1
  • Rejestracja:ponad 11 lat
  • Ostatnio:ponad 2 lata
  • Postów:224
0

Najlepiej żebyś sam się pomęczył. Wtedy będzie największa satysfakcja. Ale nakieruję Ciebie. Jeśli tekst w pliku wygląda tak jak podałeś, czyli między wyrazami i '=' nie ma żadnych odstępów, to jedyna opcja pobierać linie, obcinać zmienną typu string metodą substring() i może jakimś licznikiem ładować do odpowiednich zmiennych. A gdybyś np. miał tam odstępy i wtedy nie musiałbyś obcinać tego tekstu, to może załadować plik do obiektu typu Scanner i wtedy czytać co odstęp i określić co który raz ma ładować tekst do zmiennej. To na szybko coś na yt. . Przerób sobie to z filmiku i będzie OK.


edytowany 1x, ostatnio: Jonki1997
R1
  • Rejestracja:prawie 10 lat
  • Ostatnio:prawie 5 lat
  • Postów:208
0

szukajka niedziała? Tutaj

GE
  • Rejestracja:około 8 lat
  • Ostatnio:ponad 6 lat
  • Lokalizacja:EU/PL/KRK/TRZ
  • Postów:15
0

Kilka luźnych uwag ode mnie:

  • Czytaj plik linia po linii (poszukaj, jest duuużo przykładów). Jeżeli zupełnie nie wiesz - coś można podpowiedzieć, ale warto najpierw spróbować zdobyć wiedzę samemu.
  • Pomoże Ci metoda split klasy String - rozbije wiersz według spacji i wpakuje wartości do tablicy. Wtedy już jesteś właściwie w domu - możesz przypisać wartości tablicy do zmiennych lub zrobić z nimi cokolwiek innego.
  • Jeżeli potrzebujesz zrobić z ciągu znaków liczbę, to każda podklasa Number ma jakąś metodę parse.

Powodzenia!

C9
  • Rejestracja:ponad 8 lat
  • Ostatnio:ponad 3 lata
  • Postów:31
0

Dziekuje za wszelkie uwagi i rady. Wiadomo, jesli do czegos dojdzie sie samemu to dluzej mozna zapamietac jak to sie zrobilo :P

GE
Powodzenia! Pamiętaj, że kluczem do sukcesu jest rozbicie większego problemu na mniejsze. W tym wypadku osobnym zagadnieniem jest odczyt treści pliku, a osobnym analiza poszczególnych linii przez program. Jeśli przy czymś utkniesz na dłużej - pokaż kawałek kodu, szybciej możesz się spodziewać jakichś konstruktywnych uwag.
C9
  • Rejestracja:ponad 8 lat
  • Ostatnio:ponad 3 lata
  • Postów:31
0

Niestety nadal nie wiem jak zrobic to zadanie. Jesli chodzi o substring to z tego co przeczytalem wczytuje ona litery jedna po drugiej a nie wszystkie na raz. Czytalem tez o fukncji StringTokenizer ale rowniez nie wiem jak sie tym poslugiwac. Zdanie jest juz wczytane ale dalsze pytanie, jak je podzielic i zapisac pod konkretne zmienne??

GE
  • Rejestracja:około 8 lat
  • Ostatnio:ponad 6 lat
  • Lokalizacja:EU/PL/KRK/TRZ
  • Postów:15
1

@chrupek97: Tak jak pisałem, w tym wypadku split to najprostszy sposób, żeby zrobić to, czego potrzebujesz :) StringTokenizer to starsza klasa, umiarkowanie wygodna w obsłudze, w dodatku jej używanie w nowym kodzie jest obecnie odradzane, z kolei substring pozwala wyciąć fragmenty ciągu znaków, pod warunkiem, że wiesz o jaki fragment Ci chodzi (czyli znasz indeks początkowy/końcowy) ;) więc w Twoim przypadku nie zda się na nic.

Poniżej króciutki przykład użycia split

Kopiuj
final String line="Jan Kowalski 17 20.8";
final String[] data=line.split("\\s+");
for(int i=0; i< data.length; i++) {
    System.out.println(String.format("data[%d]: %s", i, data[i]));
} 

Da to następujący wynik:

Kopiuj
data[0]: Jan
data[1]: Kowalski
data[2]: 17
data[3]: 20.8

Uwaga: użycie wywołania line.split(" ") też by zadziałało w tym konkretnym przypadku, ale użycie wyrażenia regularnego \s+ sprawia, że jeśli spacji będzie więcej (lub byłby to jakiś inny rodzaj białego znaku), program nadal zadziała prawidłowo.

Działaj i pytaj w razie czego.

C9
  • Rejestracja:ponad 8 lat
  • Ostatnio:ponad 3 lata
  • Postów:31
0

Niestety nadal nie moge skonczyc tego programu. Ma on na celu pobrac dane osobowe z pliku i wypisac osoby ktorych dlugosc imienia jest wieksza od 3, nazwisko konczy sie na "ski" oraz osoba ta ma najwieksza skutecznosc. W momencie gdy chce skompilowac plik przy ifie zaznaczonym na czerwono pojawia sie zarowka z ostrzezeniem i komunikatem Invert if i Flip operands of the binary operator.

  • fsd.png (108 KB) - ściągnięć: 186
GE
  • Rejestracja:około 8 lat
  • Ostatnio:ponad 6 lat
  • Lokalizacja:EU/PL/KRK/TRZ
  • Postów:15
0

Ciężko patrząc na ten kod powiedzieć, co ten program właściwie próbuje zrobić (brzmi to trochę inaczej od tego, co pisałeś wcześniej). Poustawiaj breakpointy, użyj debuggera i sprawdź co dokładnie robi Twój program. Kto wie, może sam się zdziwisz ;)

edytowany 1x, ostatnio: genobis
Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)