Tamanho e Dimensão do Array definidos pelo Usuário

5 respostas
Z

Olá pessoal(Primeiro Tópico), depois de algum tempo fazendo alguns algoritmos no pascal, decidi dar um tempo a linguagem estruturada e me aventurar no mundo dos Objetos, e para pegar esse conceito de POO, eu escolhi Java, enfim, aqui estou.

Há 4 dias comecei com o básico do Java, e meus conhecimentos não me dão idéias para criar um algoritmo para que o usuário possa definir o tamanho (Linhas x Colunas) de uma matriz multi-dimensional.
O meu objetivo é criar alguns métodos para esta matriz, exemplo, soma, média, verificar numero, etc. Porém esses métodos deverão ser alterados assim que as dimensões da matriz forem definidas.

Como fazer? Estou me avançando demais?

Bom, estou lendo o livro (Java, Como Programar - 8ª Edição / Deitel) e o curso do Java do Jedi (http://jedi.wv.com.br/). Porém se alguém tiver conhecimento de outros cursos e livros, ou tiverem sugestões, enfim, qualquer tipo de conselho que ajudará no meu aprendizado eu estou aceitando.

5 Respostas

Master.Abs

Cara posso dizer que se você está iniciando em java o ideal é o livro USE A CABEÇA JAVA é um livro muito intuitivo e lúdico e de fácil absorção. Eu e creio que muitos do forum irão te aconselhar a ler esse livro.

Flw

Z

Cara posso dizer que se você está iniciando em java o ideal é o livro USE A CABEÇA JAVA é um livro muito intuitivo e lúdico e de fácil absorção. Eu e creio que muitos do forum irão te aconselhar a ler esse livro.

Flw

Obrigado pela sugestão, dei uma breve lida e achei muito intuitivo mesmo, é o tipo de livro pra ler quando você não está em frente do computador.

Irei reforçar a pergunta que fiz no tópico, caso alguém possa me dar uma mão.

E

Dê uma lidinha nesse programa. Sempre leia as coisas e tente entendê-las em vez de simplesmente copiá-las cegamente nos seus programas.

class TesteMatrizes {

	private static void imprimirMatriz (double[][] matriz) {
		System.out.println();
		for (int i = 0; i < matriz.length; ++i) {
			for (int j = 0; j < matriz[i].length; ++j) {
				System.out.printf ("%7.2f ", matriz[i][j]);
			}
			System.out.println();
		}
	}

    public static void main (String[] args) {
		// Definição de uma matriz 3 x 4, já inicializada com os valores adequados
		double a[][] = new double[][] {
			{11, 21, 31, 41},
			{12, 22, 32, 42},
			{13, 23, 33, 43}
		};
		// Vamos imprimir a matriz a
		imprimirMatriz (a);
		// Definição de uma matriz 3 x 4, vazia
		// É óbvio que você pode trocar "3" e "4" por um valor que você for perguntar ao seu usuário
		double b[][] = new double[3][4];
		// Agora iremos copiar a matriz a dentro da matriz b
		for (int i = 0; i < 3; ++i) {
		    for (int j = 0; j < 4; ++j) {
			     b[i][j] = a[i][j];
			}
		}
		// Vamos imprimir a matriz b, só para você ver que está tudo igual
		imprimirMatriz (b);
	}
}
T

vc pode usar arrays dinamicos. e existe outros posts com array dinamico

http://www.guj.com.br/java/42152-matriz-dinamica

Z
entanglement:
Dê uma lidinha nesse programa. Sempre leia as coisas e tente entendê-las em vez de simplesmente copiá-las cegamente nos seus programas.
class TesteMatrizes {

	private static void imprimirMatriz (double[][] matriz) {
		System.out.println();
		for (int i = 0; i < matriz.length; ++i) {
			for (int j = 0; j < matriz[i].length; ++j) {
				System.out.printf ("%7.2f ", matriz[i][j]);
			}
			System.out.println();
		}
	}

    public static void main (String[] args) {
		// Definição de uma matriz 3 x 4, já inicializada com os valores adequados
		double a[][] = new double[][] {
			{11, 21, 31, 41},
			{12, 22, 32, 42},
			{13, 23, 33, 43}
		};
		// Vamos imprimir a matriz a
		imprimirMatriz (a);
		// Definição de uma matriz 3 x 4, vazia
		// É óbvio que você pode trocar "3" e "4" por um valor que você for perguntar ao seu usuário
		double b[][] = new double[3][4];
		// Agora iremos copiar a matriz a dentro da matriz b
		for (int i = 0; i < 3; ++i) {
		    for (int j = 0; j < 4; ++j) {
			     b[i][j] = a[i][j];
			}
		}
		// Vamos imprimir a matriz b, só para você ver que está tudo igual
		imprimirMatriz (b);
	}
}

Obrigado pela contribuição, sei que é possível fazer com que um usuário ou um método defina a quantidade de linhas e colunas de uma nova matriz, porém o que eu realmente estava procurando o TJapaFine respondeu, é "ArrayList".


vc pode usar arrays dinamicos. e existe outros posts com array dinamico

http://www.guj.com.br/java/42152-matriz-dinamica

Obrigado, era exatamente isso que eu estava procurando.

Criado 28 de setembro de 2011
Ultima resposta 28 de set. de 2011
Respostas 5
Participantes 4