Мне нужно создать случайные числа, которые будут проходить через массив без дубликатов.Как создать список случайных чисел без дубликатов?
Проблема является дублированием и я не могу использовать любого из утилитов кроме Scanner
для ввода (инструкции учителя), как java.util.Random
или java.util.ArrayList
.
Я использую функцию под названием random
, которую мой учитель написал нам, и функция newNum(int num)
- это то, где мне нужно то, что я задал, - случайные числа.
package exercise;
import java.util.Scanner;
public class Bingo {
static int size = 10;
static int num;
static int[] arr = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
private static Scanner sc;
public static void main(String[] args) {
System.out.print("Press Enter to start: ");
sc = new Scanner(System.in);
sc.nextLine();
System.out.println("");
// int[] arr = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
// int[] tempArray = arr;
int num = random();
// int num = sc.nextInt();
// System.out.println(num);
while (size > 0) {
System.out.println(num);
size--;
newArray(num);
num = random();
newNum(num);
// System.out.println(num);
}
}
public static int random() {
int max = 10;
double r = Math.random();
int num = (int) (r * max + 1);
return num;
}
public static int newNum(int num) {
// Here should go the code for the function for getting only new
// random number without duplications
return num;
}
public static int newArray(int num) {
int[] tempArray = arr;
arr = new int[size];
int x = num - 1;
for (int i = 0; i < x; i++) {
if (i < size) {
arr[i] = tempArray[i];
}
}
for (int i = num; i < size; i++) {
if (i < size) {
int y = i - 1;
arr[y] = tempArray[i];
} else {
int a = size - 1;
arr[a] = tempArray[size];
}
}
return num;
}
}
Добро пожаловать в переполнение стека. Поскольку это школьный проект, вы действительно должны сделать это самостоятельно, чтобы убедиться, что вы учитесь. Существуют также некоторые рекомендации по заданию вопросов здесь: http://stackoverflow.com/help/how-to-ask - поэтому, если вы хотите задать вопросы, вы можете сделать это таким образом, чтобы облегчить людям помощь , Я дам вам намек на задание: отслеживайте числа, которые вы использовали, и проверяйте этот список каждый раз, когда вы создаете новый номер. – Mikkel
Спасибо за подсказку, но мне нужно отправить его моему учителю до завтра, так что мне нужно более подробное объяснение или быстрый и объясненный ответ для меня позже. –
Игорь, весь смысл школьных проектов - показать, что вы можете что-то сделать самостоятельно и узнать, что вам нужно, чтобы получить задание. Я мог бы написать код для вас, но это было бы неправильно, не так ли? ? – Mikkel