Podajemy równanie jako string i zamieniamy na działanie.

0

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. :)

0

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.

0

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/

0

Polska Notacja Odwrócona - poczytaj na ten temat

1 użytkowników online, w tym zalogowanych: 0, gości: 1