Является ли массив возрастающей последовательностью
Данная статья написана командой Vertex Academy. Это одна из статей из нашего "Самоучителя по Java."
Условие задачи:
1. Создайте массив из 4 случайных целых чисел из отрезка [10;99]
2. Выведите его на экран в строку.
3. Далее определите и выведите на экран сообщение о том, является ли массив строго возрастающей последовательностью.
Решение:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
import java.util.Arrays; public class Test { public static void main(String[] args) { int [] mas = new int[40]; for (int i = 0; i < mas.length; i++) { mas[i] = (int)(Math.random()*90)+10; } System.out.println(Arrays.toString(mas)); boolean flag = true; for (int i = 1; i < mas.length; i++) { if(mas[i]<=mas[i-1]){ flag = false; break; } } if(flag){ System.out.println("Массив является строго возрастающей последовательностью"); } else { System.out.println("Массив не является строго возрастающей последовательностью"); } } } |
Комментарии к задаче:
Создаем целочисленный массив на 4 элемента
1 |
int [] mas = new int[40]; |
Далее создаем цикл, который генерирует элементы массива
1 2 3 |
for (int i = 0; i < mas.length; i++) { mas[i] = (int)(Math.random()*90)+10; } |
Как видите, мы сгенерировали число в диапазоне от 10 до 99 включительно.
1 |
mas[i] = (int)(Math.random()*90)+10; |
Если вдруг подзабыли как генерировать случайные числа в java, прочитайте вот эту статью "Генерация случайных чисел в Java"
После этого выводим массив в строку с помощью класса Arrays
1 |
System.out.println(Arrays.toString(mas)); |
Что такое массив со строго возрастающей последовательностью? Это значит, что каждый следующий элемент массива больше предыдущего. Поэтому создаем переменную - флажек, которая будет обозначать, является ли массив строго возрастающей последовательностью или нет. Изначально предполагаем, что является.
1 |
boolean flag = true; |
Далее внутри цикла мы прописали, что если следующий элемент массива меньше или равен предыдущему, тогда установить флаг false и выйти из цикла
1 2 3 4 5 6 |
for (int i = 1; i < mas.length; i++) { if(mas[i]<=mas[i-1]){ flag = false; break; } } |
Далее прописываем с помощью if-else:
- Если флажек не изменился, значит массив возрастающий
- Если изменился, значит нет
1 2 3 4 5 |
if(flag){ System.out.println("Массив является строго возрастающей последовательностью"); } else { System.out.println("Массив не является строго возрастающей последовательностью"); } |
Вот и вся задача.