Witam,
czy da się tak zrobić że podajemy jakieś równanie np.
public static void main(){
String rownanie = odczyt.nextLine();
double funkcja= rownanie; <--- jak zamienić równanie zapisane w stringu na działanie ?
}
Z góry dzięki za odp. :)
Witam,
czy da się tak zrobić że podajemy jakieś równanie np.
public static void main(){
String rownanie = odczyt.nextLine();
double funkcja= rownanie; <--- jak zamienić równanie zapisane w stringu na działanie ?
}
Z góry dzięki za odp. :)
Nie wiem czy są jakieś automatyczne mechanizmy w Javie do tego, strzelam że nie.
Stringa zawsze możesz rozłożyć. Badaj znaki po kolei i najlepiej umieszczaj wszystko w jakimś drzewie. Wczytuj znaki po kolei jeśli to cyfra zbadaj czy nastepny znak to też cyfra itd. aż dojdziesz do operatora, zapisujesz całą liczbę złożoną z tych znaków, parsujesz na inta, odczytujesz operator zapamiętujesz, bierzesz kolejną liczbę, wszystko najlepiej umieszczać na drzewie, ale jeśli chodzi Ci o proste wyrażenia typu 2+50 to nie ma takiej potrzeby.
może to za duża armata dla ciebie, ale co mi tam: http://www.javabeat.net/2007/04/the-java-6-0-compiler-api/
tu jest coś bardziej poręcznego: http://www.gnu.org/software/jel/
Polska Notacja Odwrócona - poczytaj na ten temat