public class Solution {
public static void main(String[] args) {
int x = sqr (5);
System.out.println(x);
//напишите тут ваш код
}
public static int sqr(int a) {
return a * a; //ВОПРОС К ВОТ ЭТИМ ДВУМ СТРОЧКАМ.
}
}
public static int sqr(int a) - КТО МОЖЕТ ПЕРЕВЕСТИ ЧТО ЭТО ЗА ХРЕНЬ... ЧТО МЫ ОПУБЛИКОВАЛИ ?
ЧТО есть статическая переменная ?
почему два раза int ?
где объявлено значение переменной int a?
Возможно было достаточно добавить строку:
System.out.print(a); //???javapiton cplus
10 уровень
Что есть два int sqr(int a) и public static int чем отличен от public static void
Решен
Комментарии (13)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Andrey Domansky
25 декабря 2020, 10:31
будет)))))
0
Владислав
27 мая 2019, 20:25
Скорее всего задачка так сделана специально. Возникла трудность - иди рой землю, смотри help, гугли , но реши ее! типа сам дойди до решения и может так проанализируешь что в итоге сделал.
0
Игорь
22 апреля 2019, 12:24
расстроило задание, надеюсь дальше не будет подобного
+1
Ilyas Tuktarov
28 января 2019, 14:34
Вроде очень внимательно все читал и во все вникал с самого начала курса, но никак не получается справиться с данной задачкой "Напиши программу, которая выводит на экран квадрат числа 5.". Буду Гуглить, разбираться! Хочется понять, самому вникнуть, но уж очень резкое для меня повышение сложности произошло :)
+5
Vladimir L
1 марта 2020, 17:46
было-бы неплохо чтобы хоть раз за время курса мелькнула (int sqr) . и чтобы объяснили что она значит
+3
Dudchenko Andrei
15 января 2018, 11:51решение
Q: public static int sqr(int a) - КТО МОЖЕТ ПЕРЕВЕСТИ ЧТО ЭТО ЗА ХРЕНЬ... ЧТО МЫ ОПУБЛИКОВАЛИ ?
A: Это объявление метода или функции. У него есть название - sqr(), есть список аргументов, т.е. входных данных - int a (где int - это указание на использование целочисленной величины или Integer, а "а" - это имя переменной), указание в каком виде этот метод выведет результат своей работы (int перед sqr) и ряд свойств (public и static - их значения будут объясняться в курсе дальше).
Q: ЧТО есть статическая переменная ?
A: В данном коде их нет. Примеры статических переменных будут даны дальше в курсе вместе с объяснением их работы.
Q: почему два раза int ?
A: См. выше. Первый int является типом возвращаемого результата от работы этого метода или функции. В данном случае результатом работы метода обязана быть целочисленная величина. Если в результате работы получится что-то другое, например, дробное число, то программа выдаст ошибку.
Второй int (в скобках) объявляет тип переменной, которую мы используем в качестве аргумента, т.е. входных данных. При вызове этого метода, он будет ожидать, что ему передадут для работы опять же целочисленную величину. Без нее он не будет работать и выдаст ошибку.
Q: где объявлено значение переменной int a?
A: Эта переменная является аргументом этого метода, т.е. передается при вызове этого метода.
Выше в коде есть такая строка:
int x = sqr (5);
Вот то, что справа от = - это и есть вызов метода с аргументом. В скобках стоит число 5. При вызове метода sqr, переменной a будет присвоено значение 5 и далее будут выполняться все те операции, которые описаны в методе.
Q: Возможно было достаточно добавить строку: System.out.print(a); //???
A: В данном случае переменная a не существует вне метода. Т.е. эта команда выдаст ошибку по причине несуществования переменной а.
Можно было бы переписать как-то так.
int a = 5;
a = a*a;
int x = a;
System.out.print(x);
или так
int a = 5;
System.out.print(a*a);
+56
javapiton cplus
15 января 2018, 11:57
Благодарю за четкий. последовательный. конкретный ответ!
Спасибо за помощь.
Такой ответ можно в хепл задаче размещать!
+4
Эльнар Шагивалиев
17 января 2018, 13:10
Q: Возможно было достаточно добавить строку: System.out.print(a); //???
A: В данном случае переменная a не существует вне метода. Т.е. эта команда выдаст ошибку по причине несуществования переменной а.
****Я думаю не надо так делать. Вы тем самым обессмыслили всё, что объясняли и что писали в предудущих пояснениях.****
Смысл ведь использовать метод sqr().
А если написать
получается ниже будет мёртвый мусорный код? 0
Dudchenko Andrei
17 января 2018, 13:53
Человек задал вопрос о возможности реализации этой программы его методом (через System.out.print(a*a);
Я объяснил ему как это сделать.
Каждый для себя принимает решение как и чем он будет реализовывать ту или иную функциональность. Именно за этим (знания и опыт) мы тут и сидим :)
+5
Иван ФилинчукExpert
15 января 2018, 11:46
1. public static int sqr(int a) - КТО МОЖЕТ ПЕРЕВЕСТИ ЧТО ЭТО ЗА ХРЕНЬ... ЧТО МЫ ОПУБЛИКОВАЛИ ?
- Это объявление метода, который возвращает квадрат переданного в него числа.
2. почему два раза int ? - В объявлении метода?
Если возвращаемое значение void, то метод просто выполняет свою работу, при этом ничего не возвращая( к примеру, просто выводит что-то на экран).
В методе, который возвращает что-либо, обязательно должен быть оператор return.
3. По поводу статической переменной, кратко:
Переменные класса, также известные в Java как статические переменные, которые объявляются со статическим ключевым словом в классе, но за пределами метода, конструктора или блока.
Там будет только одна копия каждой статической переменной в классе, независимо от того, сколько объектов создано из него.
Статические переменные или переменные класса в Java используются редко, кроме когда объявляются как константы. Константы - переменные, которые объявлены как public/private, final и static. Константы никогда не меняются от первоначального значения.
В Java статические переменные создаются при запуске программы и уничтожаются, когда выполнение программы остановится.
Видимость похожа на переменную экземпляра. Однако большинство статических переменных объявляются как public, поскольку они должны быть доступны для пользователей класса.
Больше информации найдете в поиск
+6
javapiton cplus
15 января 2018, 11:58
Иван спасибо! очень хорошо дополнили предыдущий ответ!
0
Иван ФилинчукExpert
15 января 2018, 13:24
Не за что =) На момент публикации, второго ответа не было.
0
Roman Pryshchepa Java Developer Expert
15 января 2018, 14:25
javapiton cplus, тот ответ, который ниже - первый (Иван был первым) :)
0