#arrays #loops
Вопрос:
Я должен ввести 5 чисел, от 10 до 100. При считывании каждого числа программа должна отображать его только в том случае, если оно не является дубликатом уже прочитанного числа. Я должен предусмотреть «наихудший случай», в котором все пять чисел разные. Я использую наименьший возможный массив для решения этой проблемы и отображаю полный набор уникальных значений, вводимых после того, как пользователь вводит каждое новое значение.
Проблема, с которой я сталкиваюсь, заключается в том, что я не знаю, как сделать так, чтобы число находилось между 10 и 100. Вот что у меня есть до сих пор:
import java.util.Scanner; import java.util.Arrays; public class IsDuplicate { public static void main(String[] args) { Scanner input = new Scanner (System.in); int array[] = new int [5]; int size = 0; int x; for (int i = 0; i lt; 5; i ) { System.out.print("Enter an integer between 10 and 100: "); x = input.nextInt(); if(size == 0 || newNumber(array, size, x)) { System.out.println("This is the first time " x " has been entered."); array[size] = x; size ; } } System.out.println("The complete set of unique values entered is: "); for (int i = 0; ilt;size; i ) { System.out.println("Unique value" (i 1) ": is " array[i]); } } private static boolean newNumber(int y[], int size, int x) { for (int i = 0; i lt;size; i ) { if (y[i] == x) { return false; } } return true; } }
Ответ №1:
Вы можете реализовать это довольно легко. Все, что вам нужно сделать, это настроить цикл for, принимая входные данные, и добавить проверку значения x, чтобы убедиться, что это так !(x lt; 10) amp;amp; !(x gt; 100)
.
Если ваша программа должна запрашивать другое число, когда было введено неприемлемое значение, вам также нужно будет вычесть 1 из i
, чтобы убедиться, что вы все равно получите 5 чисел в общей сложности.
if(size == 0 || newNumber(array, size, x) ) { if(!(x lt; 10) amp;amp; !(x gt; 100)) { System.out.println("This is the first time " x " has been entered."); array[size] = x; size ; } else { System.out.println("The number you entered is outside the range of acceptable values."); i = i - 1; } }