【问题标题】:How to get the Scanner to scan all the elements in an array, in java如何让扫描仪扫描数组中的所有元素,在java中
【发布时间】:2022-01-09 13:02:33
【问题描述】:

这是问题:创建一个字符串数组并为其分配 5 个名称。询问用户他们的名字是什么,如果他们的名字与列表中已经存在的名字相同,请执行某些操作。发挥创意!使用 for-each 循环打印数组中的每个名称,并在每个索引之间留一个空格。

这是我目前所拥有的。我遇到的一个问题是扫描仪仅将输入与数组上的名字进行比较,而不是其余的。

public static void main(String[] args) {
    

    String[] names = {"Jose", "Alex", "Steven", "Sky", "Ana"};

    Scanner scan = new Scanner(System.in);
    System.out.println("What is your name? ");
    
    String input = scan.next();
    
    for (String n:names) {
        if (n.equalsIgnoreCase(input)) {
            System.out.print("Hooray! Your odds of finding a keychain with your name on it are high! =) ");
        }
        
        
        else { 
            System.out.print("Welcome to the rare names club!!! =D " );
            System.out.print(names + " ");
            
            }
        break;
    
        }
    }
}
            
    

请随时对您看到的任何其他问题发表评论。我是新来的,我很感激反馈。谢谢

【问题讨论】:

  • 我认为您应该在没有匹配项时使用for-loop 将名称连接在一起(而不是System.out.print(names + " ");)(或者您可以只使用System.out.print 打印每个都在同一行)

标签: java arrays java.util.scanner


【解决方案1】:

也许这会有所帮助。我认为“休息”被过早地称为。有很多方法可以解决这个问题,但我使用布尔值来确定是否找到了名称。然后我在循环之后使用布尔值来确定要打印的内容。

    public static void main(String[] args) {
        String[] names = {"Jose", "Alex", "Steven", "Sky", "Ana"};

        Scanner scan = new Scanner(System.in);
        System.out.println("What is your name? ");

        String input = scan.next();
        boolean isFound = false;
        for (String n:names) {
            if (n.equalsIgnoreCase(input)) {
                isFound = true;
                break;
            }
        }
        if (isFound) {
            System.out.print("Hooray! Your odds of finding a keychain with your name on it are high! =) ");
        } else {
            System.out.print("Welcome to the rare names club!!! =D " );
            System.out.print(names + " ");
        }
    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-09-30
    • 1970-01-01
    • 1970-01-01
    • 2013-11-15
    • 2011-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多