Problemas para criação de Matrizes  XML
Índice dos Fóruns » Java Básico
Autor Mensagem
Smoldar
Smalltalk
[Avatar]
Membro desde: 10/09/2009 23:43:38
Mensagens: 3
Localização: São Paulo
Offline

Bom pessoal, estou fazendo um curso de Java basico, porem devido a alguns problemas no decorrer do curso, não tive uma base solida de comando e programação.

Agora um professor passou um exercicio em que devo fazer uma matriz, que Ao final da digitação, todos os funcionários informados devem ser exibidos da seguinte forma : nome, cargo, salário anterior e salário atual. Deve ser exibida também a informação de quanto foi a diferença de valores entre o antigo salário e o novo.

Porem eu não tive base NENHUMA de como fazer Matrizes em Java. A Parte de Algoritmo eu faço que é uma maravilha, mas na hora de fazer o programa, não sei como fazer uma Matriz.

Não sei se isso parece besteira ou não, mas estou tendo uma dificuldade tremenda pra conseguir fazer o exercicio. A base do programa, que pede nome do funcionário, salario e tudo mais está feita, só não consegui fazer a parte em que tenho que criar a Matriz e colocar os dados dentro da Matriz.

Olhando uns outros posts no aqui fórum, começei a ter umas ideias +/-.

Tenho nas minhas variaveis a seguinte linha:

int [][] I = new int [4][TotInf];

Onde TotInf representa o total de pessoas informadas pelo Usuario.

Está certo isso? Como colocar os dados dentro da matriz?

A sim, lembrando que o Professor em questão proibiu o uso do "javax.swing", falando que precisamos saber como funciona o Java antes de o usar. (Não entendi nada, mesmo porque eu só aprendi como fazer o programa usando o javax.swing >.<.

Quem puder ajudar, agradeço desde já ^^
[MSN] [ICQ]
gpd38
JavaEvangelist
[Avatar]

Membro desde: 17/03/2007 01:55:58
Mensagens: 416
Offline

Provavelmente a pribição do swing deve ser por causa da "interface" com o usuario.Aquelas janelas que ficam abrindo na tela e pedindo informação.
Ex:http://www.faculdadepuc.xpg.com.br/mensagens.html

Com relação ao trabalho:

Declaração de matriz esta certa:

Para preencher a matriz vc vai precisar percorrer ela toda, ou seja, você vai precisar de 2 estruturas de repetição.Neste caso o mais usado é o for( ){}.
ATENÇÂO: Tem como melhorar esta inserção de dados pois ( nome, cargo, salário anterior e salário atual ) e o valor 4 esta fixo porque sua matriz é de 4 linhas.Em outros casos o mais adequado seria uma variavel.



Para mostrar a saída você usa um for( ), pode ser igual ao de cima para percorrer a matriz e mostrar na tela


Espero ter ajudado

Bacharel em Ciência da Computação
[WWW]
Smoldar
Smalltalk
[Avatar]
Membro desde: 10/09/2009 23:43:38
Mensagens: 3
Localização: São Paulo
Offline

Bom, ACHO que peguei a ideia da coisa. Mas o problema é: Como colocar variaveis diferentes dentro da matriz int?

Existe como fazer uma matriz "mista" que aceite qualquer tipo de dado ou tenho que transformar os dados pra int antes de colocar na matriz?

Acredito que tenha um monte de erros ai no meio alem das variaveis toscas, mas a ideia geral é essa mesma?

Pelo que entendi de executar o programa, o unico erro é tentar colocar variaveis mistas dentro de uma matriz tipo int.



PS: Ainda não está "terminado", tem algumas outras coisas que pretendo fazer, mas isso é "enfeite" meu pra fazer um programa com "minha cara".
As variaveis diferentes pra salarios servem pra (quando a parte da Matriz rodar direito) mostrar quanto cada cargo teve de aumento.
[MSN] [ICQ]
tiozao_bp
Thread.start()

Membro desde: 31/07/2007 15:20:05
Mensagens: 41
Offline

vc pode fazer a matriz de Object[]:

Object[][] matriz = new Object[10][3];
matriz[0][0] = new String("teste");
matriz[0][1] = new Integer(1);
matriz[0][2] = new Float(50f);

System.out.println(matriz[0][0]);
System.out.println(matriz[0][1]);
System.out.println(matriz[0][2]);

ou vc tambem pode montar um HashMap:

Map<Integer,HashMap<String, Object>> tabela = new HashMap<Integer, HashMap<String,Object>>();
Map<String,Object> campos = new HashMap<String, Object>();
campos.put("nome", new String("tiozao"));
campos.put("idade", new Integer(10));
tabela.put(1, (HashMap<String, Object> campos);

HashMap<String, Object> camposRecuperado = tabela.get(1);
System.out.println(camposRecuperado.get("nome"));
System.out.println(camposRecuperado.get("idade"));

ou melhor ainda vc monta um modelo q define as caracteristicas do funcionario e cria uma classe com ela um Bean, depois é só instanciar essa classe e popular com os valores que vc calculou

Smoldar
Smalltalk
[Avatar]
Membro desde: 10/09/2009 23:43:38
Mensagens: 3
Localização: São Paulo
Offline

*-* Muitissimo obrigado a todos, agora o programa rodou lindamente.

Usei a Matriz de Object e funcionou que é uma maravilha.

Mais uma vez, obrigado.
[MSN] [ICQ]
 
Índice dos Fóruns » Java Básico
Ir para:   
Powered by JForum 2.1.8 © JForum Team