Witam,
Jako jeden z projektów w tym semestrze mam zaprogramować algorytm (zmowydfikowana metoda newtona). Jezyk programowania mamy teoretycznie do wyboru, ale gdy prowadzaca uslyszala ze piszmy w Javie to nas delikatnie wysmiala i zasugerowala C#. Mowi ze z zapisaniem samego algorytmu i zrobieniem interfejsu nie powinnismy miec problemu, ale z parserem (identyfikacja funkcji podanejej przez urzytkownika) i rysowaniem funkcji nie damy sobie rady.
Sugerujecie przestawienie sie na C# czy raczej Java też ma jakies klasy ulatwiajace narysowanie wykresu. Jak rozwiazac problem Parsera? Serdecznie prosze o pomoc
Szczerze mówiąc to nie wiem dlaczego C# miałby być lepszy do robienia parserów niż Java. Sam na projekt z obiekótwki pisałem parser XMLa w Javie i jakoś większych problemów nie miałem. W razie czego można użyć takich maszynek jak antlr.
pewnie dlatego, ze w C# bardzo latwo skompilowac kawalek kodu
podany przez usera (pierwsze demo C# jakie widzialem to wlasnie okienko text box i w nim wpisywalo sie funkcje i tworzyl sie wykres - pare lini kodu gdzie w delphi zabieralo to kilkaset lini).
W java albo pierwszy lepszy z brzegu
http://www.bestcode.com/html/jbcparser.html
albo odwrotna notacja polska, lub recznie
. albo to i to.
Czy jest jakis panel, do rysowania wykresów w Javie to nie wiem, ale nawet jeśli go nie ma, to napisanie klasy, która by to robiła nie powinno być problemem - bardzo przyjemnie sie rysuje po obiektach Graphics2D pobranym np. z JPanela (objekt.getGraphics() ) - tutaj jest fajny manual http://java.sun.com/docs/books/tutorial/2d/index.html Co do parsera to niestety nie wiem.... ale pewnie jest coś co by pomogło rozwiązać problem z parsowaniem.
ja opieralem sie na tym najczesciej:
<url>math.hws.edu/javanotes/source/Expr.java</url>
troche zmodyfikowalem, dopisalem wlasne, brakujace funkcje i tyle, a malujesz np. na swoim panelu odziedziczonym po JPanel i tyle
C# to marny klon Javy(jak nie wierzycie to pogooglujcie za PX_2768), nieudany i jak mowia sami programisci C# - wspiera "balaganiarski kod".
W javie da sie zrobic o wiele wiecej/szybciej niz w C# dzieki porzadnej dokumentacji i wsparciu community oraz ogromnej liczby darmowych bibliotek.
pozdrawiam
Powiem tylko, że kobieta nie ma pojęcia o życiu... jeżeli nie pasuje Java to można funkcję pisać w praktycznie dowolnym języku skryptowym i następnie użyć interpretera skryptów wbudowanego w javę. Nazywa się to Dynamic Java. Względnie polecam zapoznanie się z JavaFX Script. Jest jeszcze cała masa kompilatorów JIT (just-in-time). Pani doktor może się nieźle zawieść.
Dzieki serdecznie za wszystkie odpowiedzi. Od razu mi sie lżej na sercu zrobiło :)
Zrobie to w Javie bo nie ma sensu sie uczyc c# skoro mowicie, ze Java jak najbardziej sobie z tym poradzi. Nie mialem jeszcze za bardzo do czynienia z grafika w Javie, a potrzebuje narysowac wykres "warstwice" i zrobic jeszcze interfejs użytkownika z mozliwoscia wyboru jednej z kilku przykładowych funkcji, mozliwoscia wpisana własnej, ustawieniem parametrów, wyświetlaniem wynikow itp. Mam w zwiazku z tym pare pytan
- Do tej pory kozystalem z Net Beansa, jest moze jakis kompilator, ktory pozwoli mi stworzyć interfejs metoda "przeciągnij-upuść"?
- Myslicie, ze rysowanie wykresu "warstwicy" nie bedzie wymagało bardzo zaawansowanej wiedzy w javie?
reichel napisał(a)
pewnie dlatego, ze w C# bardzo latwo
skompilowac kawalek kodu
podany przez usera (pierwsze demo C# jakie widzialem to wlasnie okienko text box i w nim wpisywalo sie funkcje i tworzyl sie wykres - pare lini kodu gdzie w delphi zabieralo to kilkaset lini).
W java albo pierwszy lepszy z brzegu
http://www.bestcode.com/html/jbcparser.html
albo odwrotna notacja polska, lubrecznie
. albo to i to.
Zainteresowales mnie tymi gotowymi parserami. Szkoda ze dla Javy trzeba zaplacic 35$. Poszukam jakiegos darmowego. Rozumiem ze to dziala na takiej zasadzie ze dostaje juz gotowy kod, ktory bedzie mi identyfikowal funkcje i zwracal wynik operacji?
1. Do tej pory kozystalem z Net Beansa, jest moze jakis kompilator, ktory pozwoli mi stworzyć interfejs metoda "przeciągnij-upuść"?
Właśnie NetBeans na to pozwala i robi to świetnie.
2. Myslicie, ze rysowanie wykresu "warstwicy" nie bedzie wymagało bardzo zaawansowanej wiedzy w javie?
To zależy od tego, czym jest dla ciebie bardzo zaawansowana wiedza ;)
Kompilator otwarty OpenJIT.
Co do rysowania, jeżeli umiesz wynik zapisać w postaci pary punkt,wartość to spoko...