java - 用户输入,不允许相同的输入两次

标签 java

我是java新手,我试图要求用户输入,但我不希望用户能够输入相同的数字两次。这是我正在尝试的

            g1 = iBox.getInteger("Enter your 1st number");
            g2 = iBox.getInteger("Enter your 2nd number");
                if(g1 == g2){
                    g2 =iBox.getInteger("Number used, please re-enter");
                }
            g3 = iBox.getInteger("Enter your 3rd number");
                if(g3 == g1){
                    g3 =iBox.getInteger("Number used, please re-enter");
                }
                else if(g3 == g2){
                    g3 =iBox.getInteger("Number used, please re-enter");
                }
            g4 = iBox.getInteger("Enter your 4th number");
                if(g4 == g1){
                    g4 =iBox.getInteger("Number used, please re-enter");
                }
                else if(g4 == g2){
                    g4 =iBox.getInteger("Number used, please re-enter");
                }
                else if(g4 == g3){
                    g4 =iBox.getInteger("Number used, please re-enter");
                }
            oBox.print(" " + g1 + " " + g2 + " " + g3 + " " + g4 + " ");

最佳答案

您应该使用循环和集合。 伪代码:

let S be the set of used numbers(or array, if order is important)
clear contents of S
for I = 1 to N, where N is the number of numbers you want to get
    int g = iBox.getInteger("Enter Ith number");
    while(S.contains(g))
        g = iBox.getInteger("Number used, please re-enter");
    Add g into S.

关于java - 用户输入,不允许相同的输入两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8477975/

相关文章:

JavaFX按键中断?

java - ListView 中 CheckedTextView 的监听器

java - 可运行类未执行

java - 按下Enter后如何防止StyledText中出现新行

java - Selenium : How to select options from a dropdown if the select tag containsstyle ="display: none;"

Java网络-如何永久禁止IP地址?

java - Felix OSGi 容器内的 Spring Rest Json 服务

java - 无法得到持续的响应

javascript - 在 Nashorn 中跨上下文共享原生 JavaScript 对象

java - 在简单的 mvc Sp​​ring Web 项目中使用 slf4j 记录器