示例代碼:int width = 5;int area = 8;int potato = 2;int stackOverflow = -4;現(xiàn)在,說我想讓用戶輸入一個字符串:String input = new Scanner(System.in).nextLine();然后,說出用戶輸入potato。我如何檢索命名的變量potato并對其進(jìn)行處理?像這樣:System.getVariable(input); //which will be 2System.getVariable("stackOverflow"); //should be -4我抬頭看了些東西,卻沒發(fā)現(xiàn)太多。我確實(shí)找到了對“反射API”的引用,但是對于這一簡單任務(wù)而言,它似乎太復(fù)雜了。有沒有辦法做到這一點(diǎn),如果是這樣,是什么呢?如果“反射”確實(shí)有效并且是唯一的方法,那么我將如何使用它來做到這一點(diǎn)?它的教程頁面包含各種我無法理解的內(nèi)部內(nèi)容。編輯:我需要將Strings 保留在變量中以進(jìn)行我的操作。(我不能使用Map)
3 回答

慕標(biāo)5832272
TA貢獻(xiàn)1966條經(jīng)驗(yàn) 獲得超4個贊
與其嘗試查找變量名的值,不為什么不使用帶有鍵/值對的Map?
Map<String, Integer> vars = new HashMap<String, Integer>();
vars.put("width",5);
vars.put("area",8);
vars.put("potato", 2);
vars.put("stackOverflow",-4);
然后,您可以像這樣訪問輸入:
vars.get(input); //would be 2
添加回答
舉報
0/150
提交
取消