Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 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

 

Date: 2015-09-25; view: 183; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.007 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию