我想用輸入的字符串生成一些條件。
例如,我得到在字符串「長= 15」,我想創建的條件: 長度== 15. 更具體地說,我有一個int在我的程序稱爲長度和它被設置爲特定值。
我想從用戶獲得一個條件作爲輸入(「長度< 15」或「長= 15」....)並創建一個if語句來生成條件並對其進行測試。
這樣做的最好方法是什麼?
非常感謝
本Java - 從字符串生成條件
0
A
回答
0
使用字符串標記器。區分令牌(或輸入字符串的最小部分)的默認方法是空白區域,這對您有利。 檢查javadoc,瞭解詳情: http://docs.oracle.com/javase/1.3/docs/api/java/util/StringTokenizer.html
1
除非你在談論的代碼生成(即產生由輸入字符串的Java代碼),你不能基於字符串的if語句。
您必須爲您的條件語言編寫解析器,並解釋生成的解析樹。
它到底會是這個樣子:
Condition cond = ConditionParser.parse("length = 15");
if (cond.eval()) {
// condition is true
}
0
根據您可以在您輸入的格式放在什麼限制,你可以考慮使用犀牛嵌入的JavaScript。您的'條件'則必須是有效的JavaScript代碼。像這樣(免責聲明:沒有編譯它):
import javax.script.*;
public bool evalCondition (Object context, String javascript) {
ScriptEngine engine = new ScriptEngineManager().getEngineByName("javascript");
Object result = engine.eval(javascript);
Boolean condTrue = (Boolean)result;
return condTrue;
}
查看Embedding Rhino Tutorial瞭解更多詳情。
相關問題
- 1. 從字符串生成條件代碼
- 2. Rails從字符串生成條形碼
- 3. 有條件地生成URL字符串
- 4. CakePhp從字符串生成XML文件
- 5. 從文件生成字符串
- 6. 從逗號生成的OR條件字符串
- 7. Java中的字符串子串生成
- 8. 從字符串/流等生成JavaDoc
- 9. 從字符串生成密鑰?
- 10. Java快速生成零字符串
- 11. 以Java生成字符串令牌
- 12. 生成字符串
- 13. 生成字符串
- 14. 生成字符串
- 15. 從長字符串生成序列號
- 16. 問題與java字符串和字符串生成器
- 17. 是否可以從Xtend字符串動態生成Java代碼字符串?
- 18. 如何從Java中的字符串集合生成隨機字符串?
- 19. 字符串和字符串生成器
- 20. 在條件返回條件字符串在條件字符串
- 21. 如何使用C#從字符串生成條形碼?
- 22. 從給定字符串生成一組字符串
- 23. 如何從字符串列表中生成字符串組合?
- 24. 如何從普通字符串中生成JSON字符串?
- 25. 使用QuickCheck從字符串池中生成隨機字符串
- 26. 從C#中的字符串列表生成隨機字符串?
- 27. 從Perl中的字符串生成子字符串
- 28. 從python中的不同字符串生成'random'字符串?
- 29. 從給定字符串生成下一個字符串
- 30. 從json字符串生成c#類
你真的不需要我們這個。只需閱讀字符串操作/解析以及如何從字符串轉換爲int。檢查出split()。 – keyser
你有多少種不同的操作員?你有多少變數可以匹配? (長*重/大+ 14> = sin(PI) - abs(k)*foobar²|| n <-z)是否可能檢查? –
我認爲這會有所幫助。 http://stackoverflow.com/questions/3422673/java-evaluate-string-to-math-expression 問候 – Uzair