首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在数组中搜索值,如果值不存在,则将其存储

在数组中搜索值,如果值不存在,则将其存储
EN

Stack Overflow用户
提问于 2016-11-27 08:29:17
回答 2查看 77关注 0票数 1

我希望在一维数组中输入一个介于10和100之间的整数,如果该值已经存在于数组中的任何位置,请不要将其插入数组中,而是通知用户并恢复输入,直到添加5个唯一的数字。

这是我的代码。我知道这是不正确的,但您可以看到我正在尝试做的是使用简单的for循环和一个搜索方法来获取数字,将它们存储到数组中并搜索重复项。我在代码中的问题是,我似乎无法将我刚刚输入的数字设置为变量'key‘,我需要将该变量发送给方法'search’。

代码语言:javascript
运行
复制
// input an integer between 10 and 100, add to array and print results. if value is already in array, notify user, print array. keep adding to array until 5 unique values have been entered

import java.util.Scanner;

public class ArraySearch {
    public static void main(String[] args) {

        Scanner input = new Scanner(System.in);

        int[] list = new int[5];

        for (int i = 0; i < list.length; i++) {
            System.out.println("Enter number: ");
            list[i] = input.nextInt();
        }
        int count = search(list, key);
        System.out.println("It has been entered.");
    }

    public static int search(int[] list, int key) {

        int count = 0;
        for (int i = 0; i < list.length; i++) {
            if (list[i].equals(key)) {
                ;
            }
            count++;
        }
        return (count);
    }
}
EN

Stack Overflow用户

发布于 2016-11-27 08:40:21

将输入直接保存在数组中。

将输入保存在一个时间变量中,您将把它传递给search。并根据search的结果将其添加到数组中或提示输入另一个输入。

代码语言:javascript
运行
复制
int[] list = new int[5];

for (int i = 0; i < list.length; i++) {
    System.out.println("Enter number: ");
    int temp = input.nextInt();
    if(search(list,temp) == 0)
        list[i] = temp;
    }else{
        System.out.println("It has been entered.");
        i--;
    }
}
票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40824589

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档