有 Java 编程相关的问题?

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

java列出用户输入

“编写一个Java程序,要求用户输入五个数字

该程序应防止用户多次输入同一号码。它还应该将用户已经输入的数字打印到屏幕上。"

输出应为:

请输入一个数字:3

名单:3

请输入一个数字:16

名单:3 16

请输入一个数字:16

号码已经在列表中了!!!再试一次

名单:3 16

请输入一个数字:23

名单:3 16 23

当然,数字不一定要和我说的一模一样。请帮忙?到目前为止我拥有的:

    Scanner in = new Scanner(System.in);

    System.out.print("Please, enter a number: ");
    int num[] = new int[5];

    for (int i = 0; i < num.length; i++)
    {
        num[i] = in.nextInt();
    }

编程很难。。我试着做单独的用户输入,并以这种方式列出它们,但我不知道如何检查是否已经输入了一个数字

非常感谢您的帮助


共 (1) 个答案

  1. # 1 楼答案

    这里有一个基本的答案接近你的知识,我希望你能理解

    for (int i = 0; i < num.length; i++){   
        int current = in.nextInt();         // getting first input for number 'i'
    
        while( Arrays.asList(num).contains(current)){    // checking if number already exists
           // Number already exist, will loop this untill you give a unique one
           System.out.print("Number already exist. Try again: ");
           current = in.nextInt();
        }
    
        // Printing the output
        System.out.print("List: ")
        for(var j =0; j < i; j++){
            System.out.print(num[i]+" ");
    
    }
    

    我将Array转换为List以检查数字是否已经存在。如果您觉得使用它不方便,可以使用DejaVuSansMono提供的isInArray()等更基本的函数来切换它