[英]How to Efficiently Comparing User Input with multiple Output Scenario in Java
我已經尋找了一點,試圖找到問題的答案,但是我什么都沒找到。
我正在用Java編程,我想知道是否存在一種有效的方法來獲取用戶的輸入並與許多可能的輸出進行比較。
然后,我希望程序根據輸入執行代碼。 我知道您可以執行switch()
if(){
以及if(){
語句中的AND
或OR
。
我想避免這樣做的if(){
語句一堆}else if{
語句以及AND
/ OR
S IN的if(){
語句。
我只是想知道是否要使用switch()
,或者是否有更有效的方法。
編輯:我還沒有寫任何東西。 我只是想知道。 如果問題太模糊,請不要擔心。 我只是好奇而已。 再次感謝!
謝謝,〜Rane
您可以使用Map並在此處預定義鍵/值對,並嘗試將用戶輸入與鍵進行匹配以獲得輸出。
String userInput = "input1"; // test
Map<String, String> inputMap = new HashMap<String, String>();
inputMap.put("input1", "output1");
inputMap.put("input2", "output2"); //etc..
String userOutput = (String) inputMap.get(userInput);
輸出將output1
。 如果未檢索到匹配項,則返回null。
希望我能正確理解您的需求。
如果您只想使用字符串查找值,請使用像Michael建議的Map。 但是,如果您想基於字符串做更多事情,請使用switch語句(從Java 7開始)。
String input = ....;
switch(input) {
case "input1":
// do stuff
break;
case "input2":
// do stuff
}
更多信息: http : //docs.oracle.com/javase/7/docs/technotes/guides/language/strings-switch.html
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.