2016-03-25 12 views
1

Bir dosyadan kuralları (koşulları) okuyan bir java programı yazmalıyım. Kurallar Java'daki koşullar olarak dönüştürülmelidir. Java kaynak koduna dizeler olarak belirtilen kuralları nasıl dönüştüreceğimi bilmiyorum.Dizelerden Java kaynak kodu nasıl oluşturulur?

Örneğin, kurallar gibi:

x != y 

veya

n >= 0 && s == n 

olmalıdır Java kaynak koduna dönüştürülmüş olarak: yaptığım nasıl

if(x != y){......} else{....}

Bu mümkün mü?

+5

Genel olarak, bir ayrıştırıcıyla konuşuyor. Sorunuz, daha fazla yardımcı olacak yeterli bilgi sağlamıyor. Şimdiye kadar ne denediniz? –

+0

Geçmişte böyle bir şey için 'ScriptEngine' sınıfını kullandım. Bu sınıf, JavaScript'i harici bir kaynaktan yüklemenizi ve Java programınızın bağlamında çalıştırmanızı sağlar. JavaScript kodu içinde, Java nesnelerini oluşturabilir ve bu nesnelerde, tıpkı Java'da yaptığınız gibi hemen hemen tüm yöntemleri uygulayabilirsiniz. Bu dizeleri ayrıştırmak için bir alternatif olabilir. – Cypher

+0

Evet, çift taraflı olabilir. Eval() çözümünü deneyeceğim ve size bildireceğim. – java4fun

cevap

0

cevabım serçenin karşı top benziyor olabilir ama JRule de sen java uygulaması Başka bir seçenek Jess olduğunu

+0

Tamam, bununla ilgili olarak bakacağım. Txs – java4fun

+0

Bu neden bir cevap? OP * kaynak kodu * jenerasyonu için çalışma zamanı değerlendirmesi istemedi. –

+0

@IraBaxter Çünkü JRule String'i kuralı dönüştürebilen ayrıştırıcıya sahiptir, dolayısıyla bir yanıt olarak kullanılabilir – Dewfy

0

içindeki iş kurallarının esnek bir sistem oluşturmak verir motoru bakabilir. Geçmişte kuralları temel alan faaliyetler yürütmek için iyi bir başarı ile kullandım.