当前位置: 首页 > 知识库问答 >
问题:

如何从用户处获取整数并复制它们[已关闭]

墨雨华
2023-03-14

我试图编写java代码,从用户输入中获取十个整数。然后我必须找到重复的数字。

public class Qb {
    public void getUserInput(int arr[]){
        System.out.println("Please enter 10 numbers separated by comma");
        int userInput = new Scanner(System.in).nextInt();
        for(int i =0 ; i< arr.length;i++){
            arr[i]= userInput;
        }
    }
    public void findDuplicate(int arr []){
        for(int i =0 ; i< arr.length;i++){
            for (int j = i+1;j< arr.length;j++){
                if(arr[i]  == arr[j]){
                    System.out.println(" "+arr[j]);
                }
            }
        }
    }
    public void getStart(){
        int arrNo [] = new int[10];
        getUserInput(arrNo);
        findDuplicate(arrNo);

    }
}

“为什么我仍然会出错?

共有1个答案

陈瀚
2023-03-14

您会收到InputMismatchException,因为您没有正确读取10个数字。如果您想使用Scanner读取10个数字,则无法使用单个nextInt()调用来完成,而且绝对不能用逗号分隔它们。

nextInt()方法的默认分隔符是空白。此外,即使数字之间用空格而不是逗号分隔,您也只能读取用户输入序列的第一个数字,并用该单个值初始化整个数组。

您要做的是在循环中请求输入,并确保用户插入的内容实际上与一个数字对应。

public void getUserInput(int arr[]) {
    int i = 0;
    Scanner scanner = new Scanner(System.in);
    System.out.println("Please enter 10 numbers:");
    do {
        if (!scanner.hasNextInt()) {
            System.out.println("Error! Enter a valid number");
            //Discarding the wrong user input
            scanner.nextLine();
        } else {
            //Assigning the user's input to the according array cell first and then post-incrementing the index
            arr[i++] = scanner.nextInt();
        }
    } while (i < arr.length);
}
 类似资料:
  • 我试图编写java代码,从用户输入中获取十个整数。然后我必须找到重复的数字。 “为什么我仍然会出错?

  • 我看到了很多关于从异步任务中获取结果的问题,但没有一个解决了我的问题。我想做的是从MyClass对象的异步任务数组中获取并在UI中使用它们,但在不同的情况下我有不同的UI。有时我用我的数组填充recyclerview,有时我用我的数组填充无尽的选项卡活动。这意味着我不能将UI元素传递给异步任务,以便在中处理它。我想从异步任务中得到的结果正是MyClass对象的数组,然后在不同的情况下以不同的方式使

  • 当我用双引号复制单词时,.php页面显示错误。双引号通常不会被复制。我该怎么解决呢?我可以编辑哪些代码?(我的脚本是WordPress。) 示例: 在上面的例子中,HTTP之前和代理之后双引号。这是我的用户的问题。我想我必须在WordPress的blockquotes函数中编辑。你知道吗?

  • 我有一些带有json的URL,需要读取数据。在本例中,json如下所示: 我想将获取的数据作为组件的属性返回。最好的方法是什么?我试着用axios做到这一点。我设法获取数据,但在render()方法中设置state之后,我收到了一个空对象。以下是代码: 我不知道为什么在render()方法中数据消失了。如果我把 在。然后部分,我获得状态为200的数据。 所以我现在问是否有其他方法可以做到这一点。我

  • 想改进这个问题吗?通过编辑这篇文章添加细节并澄清问题。 我想在FCM主题中获取令牌列表。基本上,我希望订阅FCM主题的令牌列表。 基本上,我想要来自FCM主题的注册客户端令牌。

  • 在再次使用概要文件boo执行synth时,我需要更改代码中的属性。那么,是否有任何可能的方法可以从cdk命令获得配置文件值,而不是每次都更改代码。