我希望在一维数组中输入一个介于10和100之间的整数,如果该值已经存在于数组中的任何位置,请不要将其插入数组中,而是通知用户并恢复输入,直到添加5个唯一的数字。
这是我的代码。我知道这是不正确的,但您可以看到我正在尝试做的是使用简单的for循环和一个搜索方法来获取数字,将它们存储到数组中并搜索重复项。我在代码中的问题是,我似乎无法将我刚刚输入的数字设置为变量'key‘,我需要将该变量发送给方法'search’。
// 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);
}
}发布于 2016-11-27 08:40:21
将输入直接保存在数组中。
将输入保存在一个时间变量中,您将把它传递给search。并根据search的结果将其添加到数组中或提示输入另一个输入。
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--;
}
}https://stackoverflow.com/questions/40824589
复制相似问题