Definir tipos!?

2 respostas
D

tem como eu definir meu proprio tipo em java como o type no pascal e o typedef no c?!

Type
  Matriz_3x3 = Array[-1..1,-1..1] of Double;

kero portar isso dai de pascal pa java mas n sei como ;(

2 Respostas

T

Em java você poderia usar simplesmente um array 2D de double, mas nesse caso você não pode definir o intervalo dos índices (em java o intervalo é sempre de 0 até a largura do array - 1).

double[][] matriz = new double[3][3];

Outra opção é encapsular essa matriz em um objeto, mas nesse caso os valores só poderão ser acessados via método. Algo do tipo:

public class Matriz3x3 {
    private double[][] matriz = new double[3][3];
    public double get (int x, int y) {
        return matriz[x + 1][y + 1];
    }
    public void set (int x, int y, double valor) {
        matriz[x + 1][y + 1] = valor;
    }
}

Nesse exemplo você acessaria os valores usando índices entre -1 e 1. Se um dos métodos for invocado com índice fora desse intervalor uma ArrayIndexOutOfBondsException é lançada.

Se você precisa de matrizes no mesmo estilo, para armazenar tipos de dados diferentes, o código pode ser modificado para usar generics, nesse caso valores primitivos também podem ser armazenados, via auto-boxing. Mas isso só no Java 5 (Tiger).

D

value tyler ;D

Criado 8 de dezembro de 2004
Ultima resposta 8 de dez. de 2004
Respostas 2
Participantes 2