— Хочу дать тебе несколько примеров, что интересного можно делать с массивами:
Пример 1.
Заполнение массива из 10 чисел, числами от 1 до 10:
public class MainClass
{
public static void main(String[] args)
{
int[] numbers = new int[10];
for (int i = 0; i < numbers.length; i++)
{
numbers[i] = i + 1;
}
}
}
Заполнение массива из 10 чисел, числами от 10 до 1:
public class MainClass
{
public static void main(String[] args)
{
int[] numbers = new int[10];
for (int i = 0; i < numbers.length; i++)
{
numbers[i] = 10 - i;
}
}
}
Заполнение массива из 10 чисел, числами от 0 до 9:
public class MainClass
{
public static void main(String[] args)
{
int[] numbers = new int[10];
for (int i = 0; i < numbers.length; i++)
{
numbers[i] = i;
}
}
}
Заполнение массива из 10 чисел, числами от 9 до 0:
public class MainClass
{
public static void main(String[] args)
{
int[] numbers = new int[10];
for (int i = 0; i < numbers.length; i++)
{
numbers[i] = 9 - i;
}
}
}
Пример 2.
Ввод 10 строк с клавиатуры
public class MainClass
{
public static void main(String[] args) throws IOException
{
BufferedReaderreader = new BufferedReader(new InputStreamReader(System.in));
String[] list = new String[10];
for (int i = 0; i < list.length; i++)
{
list[i] = reader.readLine();
}
}
}
Ввод 10 чисел с клавиатуры
public class MainClass
{
public static void main(String[] args) throws IOException
{
BufferedReaderreader = new BufferedReader(new InputStreamReader(System.in));
int[] list = new int[10];
for (int i = 0; i < list.length; i++)
{
String s = reader.readLine();
list[i] = Integer.parseInt(s);
}
}
}
Пример 3.
Вывод массива на экран
public class MainClass
{
public static void main(String[] args) throws IOException
{
int[] list = new int[10];
//заполнение массива
for (int i = 0; i < list.length; i++)
{
list[i] = i;
}
//вывод на экран
for (int i = 0; i < list.length; i++)
{
System.out.println(list[i]);
}
}
}
Пример 4.
Быстрая (статическая) инициализация. Сумма элементов массива:
public class MainClass
{
public static void main(String[] args) throws IOException
{
//это статическая инициализация
int[] list = {5, 6, 7, 8, 1, 2, 5, -7, -9, 2, 0};
//подсчёт суммы элементов
int sum = 0;
for (int i = 0; i < list.length; i++)
{
sum += list[i];
}
System.out.println("Sum is " + sum);
}
}
Пример 5.
Поиск минимального элемента в массиве:
public class MainClass
{
public static void main(String[] args) throws IOException
{
int[] list = {5, 6, 7, 8, 1, 2, 5, -7, -9, 2, 0};
int min = list[0];
for (int i = 1; i < list.length; i++)
{
if (list[i] < min)
{
min = list[i];
}
}
System.out.println ("Min is " + min);
}
}
Перед тобой метод signIn(), который приветствует пользователей сайта. Сейчас он приветствует всех пользователей,
а должен только зарегистрированных. Имена всех незарегистрированных пользователей — "user".
Добавь проверку имени пользователя в начало метода signIn().
Если имя "user", прерви выполнение
7
Задача
Java Syntax Pro,
7 уровень,
3 лекция
Недоступна
Кубический калькулятор
Давай напишем реализацию калькулятора, который будет считать степени чисел.
Для этого создай метод cube(). В качестве аргумента он должен принимать целочисленное значение типа long.
Метод должен возводить полученное значение в третью степень и возвращать его как результат работы метода.
Числа, котор
7
Задача
Java Syntax Pro,
7 уровень,
3 лекция
Недоступна
Кубический калькулятор в кубе
Калькулятором, который умеет возводить число в третью степень, никого не удивишь.
Калькулятор, который может возвести число в девятую степень — другое дело! Так давай реализуем его!
Для этого создай метод public static long ninthDegree(long).
В качестве аргумента он должен принимать целочисленное зн
Почему не проходит успешно проверку последнего задания -
"Массив должен быть выведен на экран в обратном порядке." ? в консоль выводится массив согласно условия в обратном порядке!!!!
Подскажите, пожалуйста… почему мы в упражнениях вводим данные через сложный bufferedReader, когда во всех видео они показывают через Scanner. Хотя в лекции говорилось, что сканером практически никто не пользуется 🫤
потому что при вводе данных через Buffered программа быстрее считввает эти данные чем со Scanner.
При написании большой программы с обьёмными файлами это даст фору в производительности чем в случае со Scanner.
Не сказать, что буффер труднее. Достаточно запомнить данную строку
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
А для ввода чисел писать не строку, а потом форматирование а сразу
int name = Integer.parseInt(reader.readLine())
И все)
Массив из чисел в обратном порядке.
Если кто-нибудь, еще раз объяснит, что мы делаем в этой задачи, буду очень благодарна, решила просто по примерам, решила правильно, а так ничего и не поняла.
Делала через Buffered и два цикла for. Решение выставлять не буду.
Что мы сделали в циклах? Особенно во втором? "-1" для чего пишем?
Пожалуйста, объясните, буду очень благодарна!
Добрый день.
Ну как я понял, методом проб и ошибок, что 1 цикл нам нужен, чтоб ты могли написать 10 чисел любых, мне кажется это ясно и понятно.
А вот насчет 2 цикла и почему мы делаем "-1", так как если поставить "+1", то выведется только последнее написанное цикло. Например я написал "1,2,3,4,5,6,7,8,9,10" и следующий цикл второй выведет лишь число 10, после чего последует ошибка "Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 10 out of bounds for length 10
at what.main(WhileTest.java:13)"
Так как мы вновь увеличиваем последовательность цисел, а не перебираем их наоборот, а как раз "-1" , дает нам обратный порядок наших написанных чисел.
Постарался объяснить, как сам понял логику своего решения.
это индекс, получается цикл начинает с первого значения которое хранится в массиве (5), присвоили 5 в min. а цикл уже начинается со второго элемента в массиве(6). получается если 6 меньше 5 то записываем 6 в min , но так как он больше то пропускаем и идем дальше и так до 4 элемента массива если считать с нуля то получается это (1) теперь у наc min=1 и так пока не пройдет весь цикл и в итоге он запишет в min -9. короче суть в том что цикл начинается не с 0, а int i = 1. надеюсь помог пытался максимально подробно)
Статическая реализация, это когда известна фиксированная размерность массива.
int[] array = new int[10];
одно и тоже статическое создание массива.
int[] array = {};
Динамическая это например ArrayList.
только у меня задачи, лекции и комментарии к ним, загружаются бессвязно?, в комментах читаю вопросы, люди приводят примеры из лекции, но в лекции нет таких примеров или вообще речь идет не о том....
Или же идут задачи, их решаешь, а дальше идут лекции на тему как решать эти задачи....
Тоже иногда на такое обращаю внимание - скорее всего курс переделывается и изменяется, и какие-то лекции/задания/примеры изменяются (убираются, меняются местами, редактируются).
Если вы обнаружили пробел в знаниях для решения задачи - быстренько загуглили информацию и решили. Это тоже навык, к которому нужно привыкать, потому что в одном источнике всегда немного не хватает. Ну а поскольку тут почти всегда происходит недостаток теории или остаются после нее вопросы - наверняка и рассчитано на скилл гугления)
p.s. Тоже по началу бесило дико, но уже все ок)
Так вроде же в самой-самой первой статье курса было сказано, что периодически специально задания будут идти перед лекцией. Это тоже тренирует определенный навык- сам пытаешься догадаться, разобраться.
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ