2015-04-03 104 views
1
public static String formulaCalcularRenda = "(Loja.getRendaFixa()*(1+super.getArea()/100)+super.getReceita()/100)"; 

@Override 
    public double calcularRenda(){ 
     return (Loja.getRendaFixa()*(1+super.getArea()/100)+super.getReceita()/100); 
    } 

我的主要目標是重用代碼,同時作爲用戶自身順序改變的公式。我以前曾嘗試過類似的東西,但我無法成功,因爲字符串有字母。轉換此字符串返回雙重

@Override 
     public double calcularRenda(){ 
      return Double.parseDouble(Loja.formulaCalcularRenda); 
     } 

有人可以幫我嗎?

+0

總是很好用你工作的語言來標記你的問題;) – Madbreaks 2015-04-03 21:16:57

+1

你希望用戶能夠輸入任意的Java代碼並讓你的程序執行它嗎?這聽起來不是一個好主意,我不確定用戶是否會希望甚至無法爲您的函數編寫明智的Java ... – 2015-04-03 21:20:04

+1

即使用戶能夠輸入語法正確的Java,仍然可以需要編寫自己的Java解釋器。你已經擁有了那麼爲什麼要重塑?至少當我最終進入編譯器設計領域時,這是我的想法。 – John 2015-04-03 21:22:11

回答

0

正如其他人在評論,這不是一件容易或明智的事情。但是,如果您致力於此任務,則對於表達式評估而言,腳本語言是更好的選擇。腳本語言支持內置於Java中,並且相對易於使用。

Java javascript程序員指南將是一個很好的開始。它有一些例子,你應該能夠適應你的需求。

+0

如果他們使用Java,EL可能是更好的選擇。 – chrylis 2015-04-03 21:39:07

0

如果你仔細想一想,用戶編寫代碼並沒有多大意義。所以,在你看來,對我來說最好的辦法是什麼,而不是一遍又一遍地重複相同的代碼?