有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Java Android:确保测验答案彼此不同

我正在开发一款Android问答应用。我已经让它工作了,但对于我用来确保显示的答案彼此不同的算法,我并不感到兴奋

上下文:我将一个hashmap键作为问题的一部分,并显示其值加上其他三个随机值作为四个可能的答案

这是我的代码:

String corrValue, randValue1, randValue2, randValue3;
    do {
        corrValue = value;
        randValue1 = ArrayList.get(random.nextInt(ArrayList.size())).toString();
        randValue2 = ArrayList.get(random.nextInt(ArrayList.size())).toString();
        randValue3 = ArrayList.get(random.nextInt(ArrayList.size())).toString();
    } while (corrValue == randValue1 || corrValue == randValue2 || corrValue == randValue3 || randValue1 == randValue2 || randValue1 == randValue3 || randValue2 == randValue3);

正如我所说,代码是有效的,但在我的初学者眼中,它并不是最优雅的解决方案


共 (1) 个答案

  1. # 1 楼答案

    我猜你的答案是整数,但出于某种原因,你需要把它们转换成字符串。在这种情况下,编造类似于正确答案的错误答案不是更好吗?例如,如果正确的值是10,那么我会把其他答案设为8、9和11。根据问题的不同,你可能想用0、20、30或1100、1000来回答一个更好的问题。将它们全部随机分配似乎不是一个好主意(假设你在问x,答案是-600,0,2,102323,尴尬的否?)