Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Пример. Применить на практике языковые возможности по работе с одно- и дву- мерными массивамиЦель работы Применить на практике языковые возможности по работе с одно- и дву- мерными массивами. Воспользоваться стандартными средствами java для чтения-записи файлов и формирования тексотвых данных.
Пример. Чтение одномерных матриц см работу N2. Составим метод транспонирования некоторой матрицы A размером n x m: Aтi,j=Aj,i
/** * транспонирование матрицы * @param A исходная матрица n x m * @return транспонированная матрица размером m x n */ static int[][] transpon(int[][] A) { final int n = A.length, m = A[0].length; final int[][] B = new int[m][]; // результирующая матрица будет m x n for (int i = 0; i< m; i++) { B[i] = new int[n]; // выделение памяти под очередную строку for (int j = 0; j < n; j++) { B[i][j] = A[j][i]; } } return B; } Пример вызова: // объявление переменной и присвоение ей матрицы 2x3 int[][] x = { {2,1,0}, {-1,3,4} }; // вызов метода и сохранение результата в переменную xt int[][] xt = transpon(x); /* xt получет значение: * 2 -1 * 1 3 * 0 4 */
Вывести данные матрицы в текстовом виде, удобном для чтения, можно следующим способом: /** * "Классический" построчный вывод матрицы * @param result выходной буфер, в котором формируется вывод * @param label строка для информации, пояснения о матрице A * @param A */ static void printMat( StringBuilder result, String label, int[][] A) { // вывод информационной строки, если она есть if (label!= null) result.append(label).append("\r\n");
for(int i = 0; i < A.length; i++) { // цикл по строкам матрицы for(int j = 0; j < A[i].length; j++) { //... по столбцам // элементы строки выводим рядом через пробелы result.append(A[i][j]).append(" "); } // перевод строки вывода в конце каждой строки матрицы result.append("\r\n"); } } Здесь используется класс StringBuilder. Именно перменная result этого класса является буфером, в котором формируется результат в виде построчного дампа прямоугольной матрицы A. label это пояснение, которое выводится перед данными матрицы. Пример вызова: int[][] x = {{2,3,0}, {-1,3,4}}; // прямоугольгая матрица размером 2 x 3 StringBuilder sb = new StringBuilder(); printMat(sb, “Исходная матрица:”, x); System.out.append(sb.toString()); // не забыть вывестина консоль Получаемый вывод: Исходная матрица: 2 3 0 -1 3 4
12
|