Правильное решение задачи:
public class Solution {
public static void main(String[] args) throws IOException {
byte[] bytes = args[0].getBytes();
Scanner scanner = new Scanner(System.in);
Files.write(Path.of(scanner.nextLine()), bytes);
}
}
---------------------------------------------------------------------------------
Тут есть строка: byte[] bytes = args[0].getBytes();
Что значит - args[0] ?
То есть объявляется массив типа байт, но вместо выделения памяти под данные используется эта непонятная "конструкция".
Заранее спасибо!
Nahuatl
39 уровень
Объясните пожалуйста, что значит / как работает эта строка?
Обсуждается
Комментарии (3)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
SomeBoy
13 сентября 2021, 13:23
Это аргументы, которые получает массив String[], методе main.
args - это имя массива.
Как создавать переменную любого массива
К примеру
int [] array = int [10];
Так вот args - это имя переменной массива в методе main
args[0] первый элемент массива,полученый методом main
0
Nahuatl
13 сентября 2021, 13:34
Да, я понял эту взаимосвязь. Я не понял как именно это работает. И что эта строчка нам дает. Почему именно с индексом "0"?
То есть получается, мы объявленному массиву типа байт, присваиваем аргумент метода мейн с индексом "0"? А чему этот индекс равен? А потом еще и вызываем у args метод getBytes().
0
SomeBoy
13 сентября 2021, 14:44
Метод main, основной метод,через который запускается JVM(здесь могу фигню ляпнуть).
В скобках метода main находится массив строк, под названием args.
Т.е. всё что находится в main -это массив строк.
Значит args[0] , это первый элемент,который ты ему даешь.
Просто выведи в консоль любой свой код через System.out.println(args[0])).
Посмотри что выдаст.
Это и будет тебе ответом.
Потому что метод main не такой уж и особенный, он такой как и все.
+2