Может ли кто-нибудь подтвердить, что я делаю это правильно
Если вы введете правильное значение, ваш метод будет правильным делать то, что вы хотите. @Mykhailo Moskura дает метод, использующий Java 8 Stream API для объединения строк.
предложить альтернативный способ?
если вы входите во входной массив в определенном диапазоне (0,9), а первый элемент не должен быть 0, вы можете попробовать этот код:
int [] input = {1, 2, 3};
int factor = 0;
int result = 0;
for (int i = 0; i < inputs.length; i++) {
result = inputs[i] + factor * 10;
factor = result;
}
System.out.println(result);
вывод: 123
сравнить два массива, не использовать массивы
Предположим, не используется какой-либо инструмент, вы можете использовать две карты для сравнения двух массивов:
public static boolean compareArray(int[] arr1, int[] arr2) {
if (arr1.length != arr2.length) {
return false;
}
Map<Integer, Integer> map1 = new HashMap<>();
Map<Integer, Integer> map2 = new HashMap<>();
for (int arr : arr1) {
Integer times = map1.getOrDefault(arr, 0);
map1.put(arr, times + 1);
}
for (int arr : arr2) {
Integer times = map2.getOrDefault(arr, 0);
map2.put(arr, times + 1);
}
for (Integer key : map1.keySet()) {
if (!map1.get(key).equals(map2.get(key))) {
return false;
}
}
return true;
}