Написал функции для создания и инициализации одномерного массива и матрицы. Как в main вывести оба массива в консоль?
import java.lang.reflect.Array.*;
public class ArrC {
public static Object arrC (Class cls, int size){
size = 5;
Object arr = java.lang.reflect.Array.newInstance(cls, size);
for (int i = 0; i < size; i++){
if (cls.isPrimitive()){
java.lang.reflect.Array.set(arr, i, 2);
}
}
return arr;
}
public static Object matrixC(Class cls, int row, int col){
row = 7;
col = 5;
Object matrix = java.lang.reflect.Array.newInstance(cls, row, col);
for (int i = 0; i < Array.getLength(row); i++ ){
for (int j = 0; j < Array.getLength(col); j++){
if (cls.isPrimitive()){
java.lang.reflect.Array.set(matrix, i, 7);
java.lang.reflect.Array.set(matrix, j, 5);
}
}
}
return matrix;
}
public static void main (String[] args){
StringBuilder s = new StringBuilder();
StringBuilder s1 = new StringBuilder();
s.append(arrC(ArrC.class ,5));
System.out.print(s);
s1.append(matrixC(ArrC.class , 7, 5));
}
}
Для массивов существует метод Arrays.toString(arr) В методе matrixC у Вас была ошибка: вместо Array.getLength(row) Array.getLength(col) используйте просто row и col
import java.lang.reflect.Array;
import java.util.Arrays;
public class ArrC {
public static Object arrC (Class cls, int size){
size = 5;
Object arr = java.lang.reflect.Array.newInstance(cls, size);
for (int i = 0; i < size; i++){
if (cls.isPrimitive()){
java.lang.reflect.Array.set(arr, i, 2);
}
}
return arr;
}
public static Object matrixC(Class cls, int row, int col){
row = 7;
col = 5;
Object matrix = java.lang.reflect.Array.newInstance(cls, row, col);
for (int i = 0; i < row; i++ ){
for (int j = 0; j < col; j++){
if (cls.isPrimitive()){
java.lang.reflect.Array.set(matrix, i, 7);
java.lang.reflect.Array.set(matrix, j, 5);
}
}
}
return matrix;
}
public static void main (String[] args){
String s = Arrays.toString((int[])arrC(int.class ,5));
System.out.println(s);s.toString());
System.out.println();
StringBuilder s1 = new StringBuilder();
ArrC[][] arrCs = ((ArrC[][])matrixC(ArrC.class, 7, 5));
for (ArrC[] arrC1 : arrCs) {
s1.append(Arrays.toString(arrC1))
.append("\n");
}
System.out.println(s1);
}
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
getSupposedNums(i,j) возвращает массив возможных вариантов для ячейки i,j, работает корректно
Пробую сделать произвольный AuthenticationProviderПока просто поставил println, чтобы он высвечивал данные о пользователе, если в него система обратится
Два дня сижу, не могу дойти до решения проблемыУ меня есть некая очередь
Правельно ли я понимают, что нельзя создавать массив обьекта Tube[] в этом же классе TubeЕсли да, то почему? Как по другому реализовать это?