Zaloguj się, aby obserwować  
Bartuc

Język C / C++ / C# / Java - pytania, problemy...

1979 postów w tym temacie

Dnia 29.04.2011 o 00:00, o_Orange napisał:

proponowałbym Ci na początek Symfonię C++ - więcej informacji znajdziesz w googlach.
Z darmowych polecam "Od zera do gier kodera", ma trochę naiwną nazwę ale jest całkiem
przystępnie napisany. Jeżeli chodzi o maturę z infy to niezbędne będą również podręczniki
szkolne gdzie znajdziesz wszystkie obowiązujące algorytmy, a także ćwiczenia z baz danych.

Ok, "Od zera do gier kodera" już mam, "Symfonię C++" się kupi. Tylko jedno pytanie - warto od razu rzucać się na C++, czy lepiej najpierw opanować jakiś prostszy język, żeby mieć jakieś podstawy?
Podręcznik też ofc kupię. Szkoda tylko, że w mojej szkole informatykę najzwyczajniej się olewa, mimo iż podczas rekrutacji jest ona traktowana na równi z fizyką. I tak w całej szkole zdaje ją raptem parę osób, więc wszyscy muszą działać na własną rękę.

Dnia 29.04.2011 o 00:00, o_Orange napisał:

Tak od siebie dodam, że jeżeli myślisz o studiowaniu informatyki to żeby dostać się na
lepsze uczelnie obowiązkowo musisz zdawać też matematykę rozszerzoną. :)

Nie ma innej opcji. ;) Nie po to poszedłem do klasy mat-fiz, żeby teraz zdawać tylko (obowiązkową zresztą) podstawową maturę z matmy.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 28.04.2011 o 23:30, JayL napisał:

Jako że przymierzam się do matury z informatyki, mam pytanie.

Z czystej ciekawości, to się w ogóle gdzieś liczy? Bo ja zdaję infę tak za tydzień (:D) i na razie nie widziałem żadnej lepszej uczelni gdzie informatyka by się liczyła - zawsze tylko matematyka + fizyka.

Dnia 28.04.2011 o 23:30, JayL napisał:

Ostatnio w empiku widziałem różne poradniki redakcji Komputer Świata dotyczące m.in. właśnie
programowania.

Biorąc pod uwagę że typowy podręcznik C++ ma co najmniej kilkaset stron (a te lepsze po kilka tomów) i że tego typu książka wiele tematów omawia bardzo ogólnikowo (np. C++ Pierwsze Starcie o operatorach, czyli czymś co powinien umieć każdy programista C++, wspomina raz w jednym krótkim przykładzie...co jest powodem dla którego ja jestem z tego tematu beznadziejny) to szczerze wątpię by mała książeczka tworzona przez Komputer Świat wystarczyła i osobiście wolałbym sprawić sobie coś duuużo większego.

Dnia 28.04.2011 o 23:30, JayL napisał:

Ktoś z nich korzystał? A może w necie znajdę za darmo lepsze? Zaznaczam, że jestem 100% laikiem.


W praktyce, jeśli potrzebna ci tylko wiedza wystarczająca dobrze napisać maturę z infy, to każda książka i kurs ci wystarczy. Podstawowe pętle for, while, instrukcje break, cout, cin, absolutne podstawy pracy na plikach (czyli kolejne 5-6 instrukcji), tablice jedno i dwuwymiarowe, może jeszcze iteracje i rekurencje. Koniec. Do nauczenia w 2-3 dni.

Dnia 28.04.2011 o 23:30, JayL napisał:

Ok, "Od zera do gier kodera" już mam, "Symfonię C++" się kupi. Tylko jedno pytanie - warto od razu rzucać
się na C++, czy lepiej najpierw opanować jakiś prostszy język, żeby mieć jakieś podstawy?

W sumie C++ nie jest szczególnie dobrym językiem na start i obecnie raczej poleca się Javę o prostszej składni i mniejszej ilości nonsensów (C++ to nadal zwykły i wiekowy już C do którego "na siłę" wepchnięto obiektowość...I to jednak czuć. Za to Java jest obiektowa od początku i nie uczy cię złych i starych nawyków).

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 29.04.2011 o 00:45, ziptofaf napisał:

> Jako że przymierzam się do matury z informatyki, mam pytanie.
Z czystej ciekawości, to się w ogóle gdzieś liczy? Bo ja zdaję infę tak za tydzień (:D)
i na razie nie widziałem żadnej lepszej uczelni gdzie informatyka by się liczyła - zawsze
tylko matematyka + fizyka.

Jak 5 lat temu szedłem na studia, to z trzech wybranych przeze mnie uczelni, tylko na jednej liczyła się infa (LUB fiza).

Cóż, zdawałem fizę. Bo jakkolwiek program informatyki w liceum jest ambitny(całkowanie numeryczne, protokoły TCP/IP z omówieniem warstwowości, itp.), to absolutnie NIC nie jest z tego z reguł realizowane. Przez 3 lata liceum (rozszerzona infa) miałem ze 2 lekcje o C++, 1 o Wordzie i jedną o jakimś edytorze grafiki. Na reszcie wiadomo co się działo.
Ci co pisali infę, popełnili samobójstwo (wyniki rzędu 17%), a i tak do niczego to niepotrzebne.

No, ale to było 5 lat temu. Teraz "na pewno" nauczyciele porządnie przygotowują z informatyki.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 29.04.2011 o 11:01, Vel_Grozny napisał:

No, ale to było 5 lat temu. Teraz "na pewno" nauczyciele porządnie przygotowują z informatyki.


No to niewiele się zmieniło...A nie, czekaj, absolutnie nic się nie zmieniło - w pierwszej klasie niby mieliśmy całkiem sporo C++ ale w praktyce podejrzewam że z 2 osoby na klasę były w stanie zrozumieć coś z tego co "przekazywał" nauczyciel. A i to tylko dlatego że już programowali (jak ja, co prawda w pseudojęzykach typu Dark Basic ale zawsze, przynajmniej pojęcia typu zmienna i stała rozumiałem).

Inna sprawa że obecna matura z infy jest znacznie prostsza niż kiedyś. Nie powiem że jest trywialna bo nadal trzeba mieć realną wiedzę w temacie ale da się ją zrobić z przyzwoitym wynikiem.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 29.04.2011 o 00:45, ziptofaf napisał:

Z czystej ciekawości, to się w ogóle gdzieś liczy?

Liczy. :P Nie wiem skąd jesteś, ale jak patrzyłem na stronach np. Uniwersytetu Warszawskiego, Politechniki albo Polsko-Japońskiej Wyższej Szkoły Technik Komputerowych (czy jakoś tak, nie chce mi się sprawdzać :P) to wszędzie matma jest obowiązkowa, a do tego fiza LUB infa, obie brane w tym samym stosunku.

Jak o tym nie wiedziałeś, to po co zdajesz? :D

Dnia 29.04.2011 o 00:45, ziptofaf napisał:

Biorąc pod uwagę że typowy podręcznik C++ ma co najmniej kilkaset stron (a te
lepsze po kilka tomów) i że tego typu książka wiele tematów omawia bardzo ogólnikowo
(np. C++ Pierwsze Starcie o operatorach, czyli czymś co powinien umieć każdy programista
C++, wspomina raz w jednym krótkim przykładzie...co jest powodem dla którego ja jestem
z tego tematu beznadziejny) to szczerze wątpię by mała książeczka tworzona przez Komputer
Świat wystarczyła i osobiście wolałbym sprawić sobie coś duuużo większego.

No to już sobie sprawiłem. Ściągnąłem darmowe "Od zera do kodera" (bodaj 560 stron), zamówiłem też na allegore oba tomy "Symfonii C++".

Dnia 29.04.2011 o 00:45, ziptofaf napisał:

W praktyce, jeśli potrzebna ci tylko wiedza wystarczająca dobrze napisać maturę z infy,
to każda książka i kurs ci wystarczy. Podstawowe pętle for, while, instrukcje break,
cout, cin, absolutne podstawy pracy na plikach (czyli kolejne 5-6 instrukcji), tablice
jedno i dwuwymiarowe, może jeszcze iteracje i rekurencje. Koniec. Do nauczenia w 2-3
dni.

Sęk w tym, żeby nie tylko zdać maturę, ale też poradzić sobie potem na studiach. Dziękuję w ostatniej chwili na 1-szym roku nadrabiać podstawy programowania, bo wcześniej nie uczyłem się przedmiotu, tylko aby zdać maturę. :P Tym bardziej, że jak wspomniałem nie mam żadnych podstaw póki co.

Dnia 29.04.2011 o 00:45, ziptofaf napisał:

W sumie C++ nie jest szczególnie dobrym językiem na start i obecnie raczej poleca się
Javę o prostszej składni i mniejszej ilości nonsensów (C++ to nadal zwykły i wiekowy
już C do którego "na siłę" wepchnięto obiektowość...I to jednak czuć. Za to Java jest
obiektowa od początku i nie uczy cię złych i starych nawyków).

Ok, to może polecisz coś do nauki Javy?

Jeszcze a propos nauczania infy w liceach - potwierdzam słowa ziptofafa. U nas pierwszą klasę poświęciliśmy na worda i podstawy html''a (bodaj jedna czy dwie lekcje), teraz bawimy się z excelem. Ale jako że bodaj tylko 2 osoby przymierzają się do matury, to wszyscy na ten przedmiot leją, łącznie z nauczycielem. W trzeciej klasie niby mamy się wziąć za programowanie, ale raz, że to raczej zbyt późno, a dwa, że patrząc na tok nauczania teraz - szczerze wątpię, żebyśmy wyszli choćby z tego excela. :P

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 29.04.2011 o 13:25, JayL napisał:

Liczy. :P Nie wiem skąd jesteś, ale jak patrzyłem na stronach np. Uniwersytetu Warszawskiego,
Politechniki albo Polsko-Japońskiej Wyższej Szkoły Technik Komputerowych (czy jakoś tak,
nie chce mi się sprawdzać :P) to wszędzie matma jest obowiązkowa, a do tego fiza LUB
infa, obie brane w tym samym stosunku.

Ja osobiście zwracałem uwagę głównie na politechnikę wrocławską z powodu informatyki dwujęzycznej bo niby skończyłem wszystkie możliwe kursy angielskiego ale jak wiadomo jak nie korzystasz z języka to potem go szybko zapominasz. A tam infa do niczego się nie liczy.

Dnia 29.04.2011 o 13:25, JayL napisał:

Jak o tym nie wiedziałeś, to po co zdajesz? :D

Bo wiem że zdam dobrze ;) Takie sprawdzenie samego siebie, na studiach raczej warto by było umieć chociaż tyle co wymagają na maturze a najlepiej kilkukrotnie więcej.

Dnia 29.04.2011 o 13:25, JayL napisał:

No to już sobie sprawiłem. Ściągnąłem darmowe "Od zera do kodera" (bodaj 560 stron),
zamówiłem też na allegro oba tomy "Symfonii C++".

Mam nadzieję że nowe wydanie a nie to sprzed bodajże 15 lat ;) Bo tamtejszy kurs C++ to naprawdę antyk, język od tego czasu troszkę wyewoluował.

Dnia 29.04.2011 o 13:25, JayL napisał:

Sęk w tym, żeby nie tylko zdać maturę, ale też poradzić sobie potem na studiach. Dziękuję
w ostatniej chwili na 1-szym roku nadrabiać podstawy programowania, bo wcześniej nie
uczyłem się przedmiotu, tylko aby zdać maturę. :P Tym bardziej, że jak wspomniałem nie
mam żadnych podstaw póki co.


No to wtedy z rok nauki wydaje mi się rozsądnym minimum (czyli dość długo żeby w miarę swobodnie umieć korzystać z bibliotek i STL a nie musieć przepisywać poszczególne linie kodu z podręcznika).

Dnia 29.04.2011 o 13:25, JayL napisał:

Jeszcze a propos nauczania infy w liceach - potwierdzam słowa ziptofafa. U nas pierwszą
klasę poświęciliśmy na worda i podstawy html''a (bodaj jedna czy dwie lekcje), teraz
bawimy się z excelem. Ale jako że bodaj tylko 2 osoby przymierzają się do matury, to
wszyscy na ten przedmiot leją, łącznie z nauczycielem. W trzeciej klasie niby mamy się
wziąć za programowanie, ale raz, że to raczej zbyt późno, a dwa, że patrząc na tok nauczania
teraz - szczerze wątpię, żebyśmy wyszli choćby z tego excela. :P


U mnie trzecia klasa wyglądała tak:
1.) Jeden program w ciągu całego roku (oceny mamy sam nie wiem skąd tzn. ja przynajmniej brałem udział w olimpiadach i konkursach to potrafię to zrozumieć. Ale niektórzy to mają je znikąd :D)
2.) Gramy na kompach przez cały rok
3.) No i trochę fizyki od czasu do czasu (nauczyciel uczy i infy, i fizy), za co akurat jestem wdzięczny bo to też zdaję i nie czuję się za mocny z tego przedmiotu :P

Co do Javy - sporo dobrego słyszałem o "Thinking in Java". Unikaj za to Java Podstawy - wielki i drogi chłam z którego raczej NIC się nie nauczysz, napisana w dodatku technicznym i nuuudnym żargonem. Bo bądźmy szczerzy, na co komukolwiek początkującemu rozważania na temat programowania wielowątkowego i porównania jego implementacji z tym (nie)oferowanym w C++? I dlaczego poświęcono mu tyle samo miejsca co podstawowym instrukcjom których utrwalenie jednak przyda się znacznie większemu gronu osób. I takich rzeczy jest tam pełno.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 29.04.2011 o 13:58, ziptofaf napisał:

U mnie trzecia klasa wyglądała tak:
1.) Jeden program w ciągu całego roku (oceny mamy sam nie wiem skąd tzn. ja przynajmniej
brałem udział w olimpiadach i konkursach to potrafię to zrozumieć. Ale niektórzy to mają
je znikąd :D)
2.) Gramy na kompach przez cały rok
3.) No i trochę fizyki od czasu do czasu (nauczyciel uczy i infy, i fizy), za co akurat
jestem wdzięczny bo to też zdaję i nie czuję się za mocny z tego przedmiotu :P


W sumie jak tak sobie czytam Wasze narzekania to zupełnie zmienia się moja ocena poziomu infy u mnie w liceum (profil mat-inf). :) U nas profesor już w pierwszej semestrze założył, że z częścią klasy która nie łączy swojej przyszłości z informatyką nie ma się co męczyć i wybrał sobie grupę kilku osób (skład trochę ewoluował przez trzy lata) z którą pracował. Z tego co kojarzę zajmowaliśmy się przede wszystkim programowaniem i algorytmami, nie tylko w szkole ale też na dodatkowych kursach (C++, Java) na miejscowej politechnice (Częstochowskiej, może nie najlepszej dla ucznia szkoły średniej w sam raz :). Excel i Access pojawiły się dopiero teraz w trzeciej klasie przed maturą. W sumie maturę z infy piszę dodatkowo bo na AGH gdzie chcę się dostać na wszystkich informatycznych kierunkach liczona jest tylko matematyka lub fizyka (podobnie jak na większości innych uczelni co już zostało zauważone kilka postów wcześniej). :)

Dnia 29.04.2011 o 13:58, ziptofaf napisał:

Co do Javy - sporo dobrego słyszałem o "Thinking in Java".


Potwierdzam, to bardzo fajnie napisana książka z której można szybko nauczyć się Javy nie mając wcześniej kontaktu z programowaniem. Jednak (@JayL) maturę z informatyki moim zdaniem wygodniej pisać w języku nieobiektowym albo niekoniecznieobiektowym (C++). :)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 29.04.2011 o 13:58, ziptofaf napisał:

Mam nadzieję że nowe wydanie a nie to sprzed bodajże 15 lat ;) Bo tamtejszy kurs C++
to naprawdę antyk, język od tego czasu troszkę wyewoluował.

Wydanie 3, rozszerzone, a więc najnowsze. ;)

Dnia 29.04.2011 o 13:58, ziptofaf napisał:

No to wtedy z rok nauki wydaje mi się rozsądnym minimum (czyli dość długo żeby w miarę
swobodnie umieć korzystać z bibliotek i STL a nie musieć przepisywać poszczególne linie
kodu z podręcznika).

W takim razie zebrałem się do tego akurat na czas - maturę zdaję za rok. :P

Dnia 29.04.2011 o 13:58, ziptofaf napisał:

Co do Javy - sporo dobrego słyszałem o "Thinking in Java".

Ok, znalazłem, wylądowało w zakładkach, ale pewnie trochę sobie poczeka, trzeba kasy nazbierać. :P

o_Orange
Co ja bym dał, żeby u nas podział klasy był na takiej zasadzie, a nie po połowie osób z listy. Jako że chodzę do klasy mat-fiz, sporo osób całkiem nieźle zna się na rzeczy, więc można by zrobić grupę zaawansowaną, tak jak w przypadku angielskiego, z którego u mnie na początku roku pisze się test. A tak trzeba się uczyć na własną rękę, bo jedyne co jest w stanie zrobić nauczyciel, to polecić podręcznik (nie to, żeby się nie znał, ale nie ma jak chętnych uczyć).

Przed maturą chciałbym nauczyć się jakiegoś prostszego języka (padło na Javę), a potem wziąć się za C++ i wkuć ile zdążę. I tak z tego co ziptofaf pisał, wcale nie trzeba umieć wiele, żeby dobrze zdać.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 29.04.2011 o 21:36, JayL napisał:

Przed maturą chciałbym nauczyć się jakiegoś prostszego języka (padło na Javę), a potem
wziąć się za C++ i wkuć ile zdążę. I tak z tego co ziptofaf pisał, wcale nie trzeba umieć
wiele, żeby dobrze zdać.

Hem hem...ale po co ci C++? :D Na maturze sam wybierasz w jakim języku chcesz pisać (oraz czy chcesz Windowsa/Maca/Linuxa, Office''a czy OpenOffice''a) - ja zdaję w C++ bo nieźle go znam ale znajomy wybrał sobie Javę. No i Java w niczym nie ustępuje C++ (a w wielu aspektach znacznie go wyprzedza), jest co najwyżej mniej popularna.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Jeśli Javę będę już umiał, to C++ będę się uczył wyłącznie dla siebie w takim razie, no i już nie "ile zdążę" tylko spokojnie, skoro Java wystarczy. :P

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 29.04.2011 o 13:25, JayL napisał:

Sęk w tym, żeby nie tylko zdać maturę, ale też poradzić sobie potem na studiach. Dziękuję
w ostatniej chwili na 1-szym roku nadrabiać podstawy programowania, bo wcześniej nie
uczyłem się przedmiotu, tylko aby zdać maturę. :P Tym bardziej, że jak wspomniałem nie
mam żadnych podstaw póki co.

Akurat na informatykę można iść nie mając bladego pojęcia o programowaniu. Taaak... Trzy wykłady o printf/scanf. Programowanie to pierwszy wykład na który przestałem chodzić.

Za to na wyższych semestrach praktycznie bez przekazywania żadnych informacji na wykładzie (na który, bądźmy szczerzy, i tak nikt nie będzie chodził), co tydzień lub dwa, będzie do napisania program w nowej, nieznanej technologii/frameworku... :) Dzięki temu, takiej Javy nauczyłem się ekspresowo. :D

Generalnie, trzeba jakieś podstawy programowania złapać, żeby potem szybko się uczyć. Ale na pierwszym roku będzie na to mnóstwo czasu.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 30.04.2011 o 19:03, Vel_Grozny napisał:

Akurat na informatykę można iść nie mając bladego pojęcia o programowaniu. Taaak... Trzy
wykłady o printf/scanf. Programowanie to pierwszy wykład na który przestałem chodzić.

Z tym, że choćby szczątkowa wiedza o programowaniu jest wymagana na maturze. ;)

Nie raz zresztą słyszałem, żebym np. nie martwił się, że teraz nie nauczę się niczego, bo na studiach i tak zaczyna się od zera. Jednak chciałbym jakieś podstawy znać nie tylko po to, żeby było mi łatwiej, ale też z czystej ciekawości. :P

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 29.04.2011 o 21:36, JayL napisał:

Ok, znalazłem, wylądowało w zakładkach, ale pewnie trochę sobie poczeka, trzeba kasy nazbierać. :P

Znasz choćby lekko przyzwoicie angielski, to nie musisz koniecznie wydawać kasę. Tu są edycje od 1 do 3 włącznie w postaci PDF.:
http://www.planetpdf.com/developer/article.asp?ContentID=6632
Wszystko legalnie. Ta książka była od początku pisana i udostępniona jako e-book.
Jeżeli będzie za trudno lub potrzebujesz edycji 4, która opisuje Javę 1.5 z elementami 6, to musisz nazbierać na edycję 4 po polsku. Edycja 3 opisuje Javę 1.4.2 z elementami Javy 1.5.
Były dwie przełomowe edycje Javy jako języka 1.2 nazywana po prostu Javą 2 oraz właśnie 1.5, która wprowadziła nowe elementy języka (np. enum) i ulepszyła stare (np. kolekcje, operacje plikowe).

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Witam!
Dlaczego jeżeli uruchamiam mój program (C++) podwójnym kliknięciem to plik z rezultatem działania (powiedzmy wyniki.txt) tworzy on w tym samym folderze w którym się znajduje, a jeżeli uruchamiam go przeciągając na jego ikonę ikonę pliku z danymi (drag and drop) to plik z rezultatem działania pojawia się w folderze C:\Documents and Settings? I jak można to zmienić żeby plik zawsze pojawiał się w tym samym folderze co program? :)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 01.05.2011 o 17:09, o_Orange napisał:

Witam!
Dlaczego jeżeli uruchamiam mój program (C++) podwójnym kliknięciem to plik z rezultatem
działania (powiedzmy wyniki.txt) tworzy on w tym samym folderze w którym się znajduje,
a jeżeli uruchamiam go przeciągając na jego ikonę ikonę pliku z danymi (drag and drop)
to plik z rezultatem działania pojawia się w folderze C:\Documents and Settings? I jak
można to zmienić żeby plik zawsze pojawiał się w tym samym folderze co program? :)

Ten plik ląduje w "bieżącym katalogu", a to co nim jest zależy od Windowsa. Dwuklik - katalog z programem, odpalenie z Visuala - katalog projektu, itp.
Jeśli chcesz władować wynik do konkretnego folderu, to musisz ręcznie podać ścieżkę dostępu. Wydaje mi się, że pełna ścieżka dostępu do execa znajduje się w argv[0], ale spróbuj ją najpierw wyprintować. Po prostu zczytaj to, usuń to co za ostatnim slashem i będziesz miał ścieżkę.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 01.05.2011 o 18:08, Vel_Grozny napisał:

Ten plik ląduje w "bieżącym katalogu", a to co nim jest zależy od Windowsa. Dwuklik -
katalog z programem, odpalenie z Visuala - katalog projektu, itp.
Jeśli chcesz władować wynik do konkretnego folderu, to musisz ręcznie podać ścieżkę dostępu.
Wydaje mi się, że pełna ścieżka dostępu do execa znajduje się w argv[0], ale spróbuj
ją najpierw wyprintować. Po prostu zczytaj to, usuń to co za ostatnim slashem i będziesz
miał ścieżkę.


Super, ścieżka rzeczywiście była w argv[0]. Dzięki wielkie. :)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Język Java.


import javax.swing.JOptionPane;
public class Program
{
/**
* Program
*/
public static void main(String[] args)
{
new Program();
System.exit(0);
}
public Program()
{
String ta;
ta=JOptionPane.showInputDialog("Wprowadź tekst.");
while(ta!="Koniec")
{
JOptionPane.showMessageDialog(null,"Tekst",null,JOptionPane.INFORMATION_MESSAGE);
ta=JOptionPane.showInputDialog("Wprowadź tekst po raz kolejny.");
}
JOptionPane.showMessageDialog(null,"Koniec",null,JOptionPane.INFORMATION_MESSAGE);

}
}


Banalny program, którego zasada działania jest dość prosta. Wyświetla się okno input dla tekstu. Dopóki nie wprowadzimy tam tekstu "Koniec", to program będzie nam wyświetlał JOptionPane.showMessageDialog o treści "Tekst". Jeżeli wprowadzonym tekstem będzie "Koniec", to ma wyświetlić się MessageDialog o treści "Koniec", a program kończy pracę.

Pytanie: dlaczego mimo wpisywania "Koniec" program nadal się zapętla i wyświetla "Tekst"? Co jest źle?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Dnia 10.05.2011 o 17:04, Kardithron napisał:

Banalny program, którego zasada działania jest dość prosta. Wyświetla się okno input
dla tekstu. Dopóki nie wprowadzimy tam tekstu "Koniec", to program będzie nam wyświetlał
JOptionPane.showMessageDialog o treści "Tekst". Jeżeli wprowadzonym tekstem będzie "Koniec",
to ma wyświetlić się MessageDialog o treści "Koniec", a program kończy pracę.

Pytanie: dlaczego mimo wpisywania "Koniec" program nadal się zapętla i wyświetla "Tekst"?
Co jest źle?


Aby sprawdzić zawartość Stringa w javie należy użyć metody equals, w Twoim przypadku to będzie ta.equals("Koniec") , do zaprzeczenia można użyć operatora !

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 10.05.2011 o 19:54, Cafel napisał:

Aby sprawdzić zawartość Stringa w javie należy użyć metody equals, w Twoim przypadku
to będzie ta.equals("Koniec") , do zaprzeczenia można użyć operatora !

Wobec tego "ta.equals("Koniec")" mam wstawić na sam koniec pętli (już po wprowadzeniu ta)?

while(ta!="Koniec")
{
JOptionPane.showMessageDialog(null,"Tekst",null,JOptionPane.INFORMATION_MESSAGE);
ta=JOptionPane.showInputDialog("Wprowadź tekst po raz kolejny.");
ta.equals("Koniec")
}
JOptionPane.showMessageDialog(null,"Koniec",null,JOptionPane.INFORMATION_MESSAGE);


A po co ten operator zaprzeczenia?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

W Twoim wypadku kod pętli powinnien wyglądać tak:

while(!ta.equals("Koniec"))
{
JOptionPane.showMessageDialog(null,"Tekst",null,JOptionPane.INFORMATION_MESSAGE);
ta=JOptionPane.showInputDialog("Wprowadź tekst po raz kolejny.");
}

equals zwraca wartość logiczną true/false.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Utwórz konto lub zaloguj się, aby skomentować

Musisz być użytkownikiem, aby dodać komentarz

Utwórz konto

Zarejestruj nowe konto na forum. To jest łatwe!


Zarejestruj nowe konto

Zaloguj się

Masz już konto? Zaloguj się.


Zaloguj się
Zaloguj się, aby obserwować