— Хочу дать тебе несколько примеров, что интересного можно делать с массивами:
Пример 1.
Заполнение массива из 10 чисел, числами от 1 до 10:
publicclassMainClass{publicstaticvoidmain(String[] args){int[] numbers =newint[10];for(int i =0; i < numbers.length; i++){
numbers[i]= i +1;}}}
Заполнение массива из 10 чисел, числами от 10 до 1:
publicclassMainClass{publicstaticvoidmain(String[] args){int[] numbers =newint[10];for(int i =0; i < numbers.length; i++){
numbers[i]=10- i;}}}
Заполнение массива из 10 чисел, числами от 0 до 9:
publicclassMainClass{publicstaticvoidmain(String[] args){int[] numbers =newint[10];for(int i =0; i < numbers.length; i++){
numbers[i]= i;}}}
Заполнение массива из 10 чисел, числами от 9 до 0:
publicclassMainClass{publicstaticvoidmain(String[] args){int[] numbers =newint[10];for(int i =0; i < numbers.length; i++){
numbers[i]=9- i;}}}
Пример 2.
Ввод 10 строк с клавиатуры
publicclassMainClass{publicstaticvoidmain(String[] args)throwsIOException{BufferedReader reader =newBufferedReader(newInputStreamReader(System.in));String[] list =newString[10];for(int i =0; i < list.length; i++){
list[i]= reader.readLine();}}}
Ввод 10 чисел с клавиатуры
publicclassMainClass{publicstaticvoidmain(String[] args)throwsIOException{BufferedReader reader =newBufferedReader(newInputStreamReader(System.in));int[] list =newint[10];for(int i =0; i < list.length; i++){String s = reader.readLine();
list[i]=Integer.parseInt(s);}}}
Пример 3.
Вывод массива на экран
publicclassMainClass{publicstaticvoidmain(String[] args)throwsIOException{int[] list =newint[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.
Быстрая (статическая) инициализация. Сумма элементов массива:
publicclassMainClass{publicstaticvoidmain(String[] args)throwsIOException{//это статическая инициализация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.
Поиск минимального элемента в массиве:
publicclassMainClass{publicstaticvoidmain(String[] args)throwsIOException{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", прерви выполнение
3
Задача
Модуль 1. Java Syntax, 8 уровень, 2 лекция
Недоступна
Кубический калькулятор
Давай напишем реализацию калькулятора, который будет считать степени чисел.
Для этого создай метод cube(). В качестве аргумента он должен принимать целочисленное значение типа long.
Метод должен возводить полученное значение в третью степень и возвращать его как результат работы метода.
Числа, котор
1
Задача
Модуль 1. Java Syntax, 26 уровень, 2 лекция
Недоступна
Кубический калькулятор в кубе
Калькулятором, который умеет возводить число в третью степень, никого не удивишь.
Калькулятор, который может возвести число в девятую степень — другое дело! Так давай реализуем его!
Для этого создай метод public static long ninthDegree(long).
В качестве аргумента он должен принимать целочисленное зн
+972
Комментарии (354)
популярные
новые
старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Почему не проходит успешно проверку последнего задания -
"Массив должен быть выведен на экран в обратном порядке." ? в консоль выводится массив согласно условия в обратном порядке!!!!
Подскажите, пожалуйста… почему мы в упражнениях вводим данные через сложный 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. Тоже по началу бесило дико, но уже все ок)
Так вроде же в самой-самой первой статье курса было сказано, что периодически специально задания будут идти перед лекцией. Это тоже тренирует определенный навык- сам пытаешься догадаться, разобраться.