int[] numbers = {1, 5, -1, 3, 0};
// Копируется ссылка на массив
int[] numbersCopy = numbers;
// Клонируется массив
int[] numbersClone = numbers.clone();
numbers[0] = 6;
System.out.println("numbers = " + Arrays.toString(numbers));
// => "numbers = [6, 5, -1, 3, 0]
System.out.println("numbersCopy = " + Arrays.toString(numbersCopy));
// => "numbersCopy = [6, 5, -1, 3, 0]
System.out.println("numbers == numbersCopy ? " + (numbersCopy == numbers));
// => "numbers == numbersCopy ? true"
System.out.println("numbers = " + Arrays.toString(numbers));
// => "numbers = [6, 5, -1, 3, 0]"
System.out.println("numbersClone = " + Arrays.toString(numbersClone));
// => "numbersClone = [1, 5, -1, 3, 0]"
System.out.println("numbers == numbersClone ? " + (numbersClone == numbers));
// => "numbers == numbersClone ? false"
int[] numbers = {1, 2, 3, 4, 5, 7, 8};
int[] numbersCopy = Arrays.copyOf(numbers, 6);
System.out.println("numbers = " + Arrays.toString(numbers));
// => "numbers = [1, 2, 3, 4, 5, 7, 8]"
System.out.println("numbersCopy = " + Arrays.toString(numbersCopy));
// => "numbersCopy = [1, 2, 3, 4, 5, 7]"
System.out.println("numbers == numbersCopy ? " + (numbersCopy == numbers));
// => "numbers == numbersCopy ? false"
int[] numbers1 = {-5, 9, 10, 11, -10, 5, 2, 2, 1};
int[] slicedNumbers = Arrays.copyOfRange(numbers1, 2, 5);
System.out.println(Arrays.toString(slicedNumbers));
// => "[10, 11, -10]"
int[] arr = {1, 2, 3, 4 , 5, 6};
int[] arrResult = new int[5];
System.arraycopy(arr, 2, arrResult, 1, 3);
System.out.println(Arrays.toString(arrResult));
// => "[0, 3, 4, 5, 0]"
// Вариант с циклом for
static int getMinValue(int[] arr) {
int min = arr[0];
for (int i = 1; i < arr.length; i++) {
min = min > arr[i] ? arr[i] : min;
}
return min;
}
static int getMaxValue(int[] arr) {
int max = arr[0];
for (int i = 1; i < arr.length; i++) {
max = max < arr[i] ? arr[i] : max;
}
return max;
}
// Вариант с циклом for of
static int getMinValue(int[] arr) {
int min = Integer.MAX_VALUE;
for (int a : arr) {
min = a < min ? a : min;
}
return min;
}
static int getMaxValue(int[] arr) {
int max = Integer.MIN_VALUE;
for (int a : arr) {
max = a > max ? a : max;
}
return max;
}
int[] numbers = {5, -10, 11, 23, -100, 0, -1, 23, -100};
int max = getMaxValue(numbers);
System.out.println("Max value: " + max);
// "Max value: 23"
int min = getMinValue(numbers);
System.out.println("Min value: " + min);
// => "Min value: -100"
static int findValueIndex(int[] arr, int value) {
for (int i = 0; i < arr.length; i++) {
if (arr[i] == value) {
return i;
}
}
return -1;
}
int[] numbers = {5, -10, 11, 23, -100, 0, -1, 23, -100};
int value = 23;
int valueIndex = findValueIndex(arr, value);
System.out.println("Index of value: " + valueIndex);
// => "Index of value: 3"
static int getSumOfArrayValues(int[] arr) {
int sum = 0;
for (int a : arr) {
sum += a;
}
return sum;
}
int[] numbers = {1, -1, 2, -2, 5};
int sum = getSumOfArrayValues(numbers);
System.out.println("Sum of array elements: " + sum);
// => "Sum of array elements: 5"
String str = "abcde";
System.out.println(str); // => "abcde"
char[] arr = str.toCharArray();
System.out.println(Arrays.toString(arr)); // => "[a, b, c, d, e]"
int index = 2;
System.out.println("Символ на позиции " + index + ": " + str.charAt(index));
// => "Символ на позиции 2: c"
// Перебор массива символов в for
for (char ch: arr) {
System.out.println("symbol = " + ch);
}
Вывод на экран:
symbol = a
symbol = b
symbol = c
symbol = d
symbol = e
// Парсинг даты
static String convertToDateWithDots(String date) {
char[] arr = date.toCharArray();
for (int i = 0; i < arr.length; i++) {
arr[i] = arr[i] == '/' ? '.' : arr[i];
}
return String.valueOf(arr);
}
String date = "18/05/2021";
System.out.println("Converted str = " + convertToDateWithDots(date));
// => "Converted str = 18.05.2021"
System.out.println("Another way... : " + date.replaceAll("/", "."));
// => "Another way... : 18.05.2021"
Вам ответят команда поддержки Хекслета или другие студенты.
Выделите текст, нажмите ctrl + enter и отправьте его нам. В течение нескольких дней мы исправим ошибку или улучшим формулировку.
Загляните в раздел «Обсуждение»:
Статья «Ловушки обучения»
Вебинар «Как самостоятельно учиться»
Базовый план откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, проектам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.
Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно.
Наши выпускники работают в компаниях:
Зарегистрируйтесь или войдите в свой аккаунт
Задавайте вопросы, если хотите обсудить теорию или упражнения. Команда поддержки Хекслета и опытные участники сообщества помогут найти ответы и решить задачу