??????????????所以我有一个开关盒,它接受一侧(在CM中)的长度输入并选择旋转机器人轮的时间(以毫秒为单位),例如用户输入25选择案例25并将时间设置为……????????
????如果要分配的值可以在以后更改,您可以使用键/值对填充映射并使用它(您可以将这些值放入文件中并将其读入,因此您不需要如果这些值改变,重新编译类): ??
private final static Map<Integer, Integer> SIDE2TIMEMap = new HashMap<>(); static { SIDE2TIMEMap.put(Integer.valueOf(20), Integer.valueOf(2000)); SIDE2TIMEMap.put(Integer.valueOf(21), Integer.valueOf(2000)); // [...] SIDE2TIMEMap.put(Integer.valueOf(80), Integer.valueOf(7900)); }
????稍后您可以获得如下值: ??
private static int getTimeForSide(int side) { Integer timeVal = SIDE2TIMEMap.get(Integer.valueOf(side)); if (timeVal == null) { timeVal = Integer.valueOf(1000); // default value // alternatively: throw new IllegalArgumentException("invalid side: " + side); } return timeVal.intValue(); } [...] int side1time = getTimeForSide(side1); int side2time = getTimeForSide(side2);
????您的 ????? switch(side1) ?????似乎相当于: ??
switch(side1)
if (side1 == 20) side2time = 2000; if (side1 > 20 && side1 <= 80) side2time = (side1 - 1) * 100
????这同样适用于其他switch语句。 ??