У меня было задание создать массив случайных чисел от 10-100. Затем мне нужно разобрать все числа, не перечисленные в массиве. Я выполнил назначение с помощью вложенных циклов, чтобы перекрестно ссылаться на массивы, затем я изменил все найденные числа в массиве на -1. Наконец, я напечатал элементы в массиве, которые не были равны -1. Мой профессор сказал мне, что это возможно для меня сделать это назначение только с одним циклом, и нет необходимости делать вложенный цикл. и заставить компьютер работать 10 000 раз вместо 100. Возможно ли это? Если да, то как?Создание вложенных циклов в одно для цикла
спасибо.
package assignment.pkg1;
import java.util.Random;
public class Assignment1 {
static Random ran = new Random();
public static void main(String[] args) {
int[] arr = new int[100];
for (int i = 0; i < 100; i++) {
arr[i] = (ran.nextInt(90)) + 10;
}
InversingArray(arr);
}
public static void InversingArray(int[] randomArray) {
int[] fullArray = new int[100];
for (int i = 0; i < 100; i++) {
fullArray[i] = i;
}
for (int i = 0; i < 100; i++) {
for (int j = 1; j < 100; j++) {
if (randomArray[j] == fullArray[i]) {
fullArray[i] = -1;
}
}
}
System.out.println("These numbers are not in randomArray: ");
for (int i = 0; i < 100; i++) {
if (fullArray[i] != -1) {
System.out.println(fullArray[i]);
}
}
}
ли это помощь? –
, но как бы избавиться от вложенного цикла? Разве мне не нужно было бы перекрестно ссылаться на каждый ба [i] с каждым случайным массивом [i]? –
Нет, пройти через массив, чтобы установить соответствующее логическое значение для каждого элемента. Я бы добавил несколько комментариев, которые должны помочь. –