Duvidas no vetor AJUDA [RESOLVIDO THX ALL]

6 respostas
P

Ae pessoal seguinte, estou com uma duvida... meu vetor nao ta funcionando...
e como sou novato, nao estou entendendo oque ta acontecendo..
ja li uns 50 topicos aqui e nao consegui ver minha falha
help me :shock:

Essa é minha model, tenho que criar um vetor de 10 posicoes
informar 10 numeros..
depois ordenalos, dizer o maior, o menor, etc.. ainda nao comecei manipular o vetor
por enquanto to tentando colocar os numeros no vetor
mas ta com erro na view da uma olhada

package model;

public class Lista {

		private int numero;
		

		int[] vetor = new int[10];

		public void setNumero(int numero) {
			this.numero = numero;
		}
		public int getNumero() {
			return numero;
		}		
		public void setInsere(int i, int novaLista){
			this.vetor[i] = novaLista;
		}
		public int getTamanho(){
			return this.vetor.length;
		}
				
		public int getMostrarLista(){
			int mostrar =0;
			for(int i=0; i<vetor.length;i++){
				mostrar += vetor[i];
			}
			return mostrar;
		}
}
package view;

import javax.swing.JOptionPane;

import model.Lista;

public class AppLista {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub

		Lista novoLista = new Lista();
		
		for (int i = 0; i < novoLista.getTamanho(); i++) {
		novoLista.setNumero(Integer.parseInt(JOptionPane.showInputDialog("Informe o numero")));
		novoLista.setInsere(i, novaLista); // o erro esta aqui na hora de definir as posicoes
		}		
	}
}

6 Respostas

sedmalakian

Tenta Fazer Assim:

public class Lista {
        int[] vetor = new int[10];

        public void setNumero(int i, int novaLista){
            this.vetor[i] = novaLista;
        }
        public int getTamanho(){
            return this.vetor.length;
        }
        public int getNumero(int i){
            return vetor[i];
        }
}

e na main

Lista novaLista = new Lista();
         
  for (int i = 0; i < novaLista.getTamanho(); i++) {
       novaLista.setNumero(i,Integer.parseInt(JOptionPane.showInputDialog("Informe o numero")));
  }
  for (int i=0;i<novaLista.getTamanho(); i++) {
       JOptionPane.showMessageDialog(null,novaLista.getNumero(i));
  }

Quanto a ordenação:

Pesquise sobre Pesquisa e Ordenação de Dados

aqui te um exemplo Otimo
http://www.guj.com.br/posts/list/163054.java

vc pode ler
http://www.inf.ufsc.br/~ronaldo/ine5384/15-OrdenacaoDados.pdf

Vingdel

Olá puzzle,

O problema é que novaLista não existe, seria novoLista.

int novaLista é a variavel que recebe o valor.

novoLista, é a referência que vocês cria e teria deve ser passada como arqugumento ao chamar o método setInsere(i, novoLista):

A linha 19 da classe AppLista seria assim:

novoLista.setInsere(i, novoLista);

EDIT: Além disso, mesmo que você passe a referência com o nome correto, ainda continua errado, pois vocês estará passando no segundo argumento uma referência do tipo Lista, e o método deve receber no segundo argumento uma variável do tipo int.

Melhor revisar…

Abraço!

Campanate

for (int i = 0; i < novoLista.getTamanho(); i++) {

novoLista.setNumero(Integer.parseInt(JOptionPane.showInputDialog(“Informe o numero”)));

novoLista.setInsere(i, novaLista); // o erro esta aqui na hora de definir as posicoes

voce devia fazer assim

for (int i = 0; i < novoLista.getTamanho(); i++) {

novoLista.setNumero(Integer.parseInt(JOptionPane.showInputDialog(“Informe o numero”)));

novoLista.setInsere(i, novaLista.getNumero()); // o erro esta aqui na hora de definir as posicoes

voce esqueceu , que quando voce inserir , voce nao pode inserir o objeto , e sim o valor da variavel numero , entao deve chamar o metodo getNumero

Hebert_Coelho

Campanate:
# for (int i = 0; i < novoLista.getTamanho(); i++) {

novoLista.setNumero(Integer.parseInt(JOptionPane.showInputDialog(“Informe o numero”)));

novoLista.setInsere(i, novaLista); // o erro esta aqui na hora de definir as posicoes

voce devia fazer assim

for (int i = 0; i < novoLista.getTamanho(); i++) {

novoLista.setNumero(Integer.parseInt(JOptionPane.showInputDialog(“Informe o numero”)));

novoLista.setInsere(i, novaLista.getNumero()); // o erro esta aqui na hora de definir as posicoes

voce esqueceu , que quando voce inserir , voce nao pode inserir o objeto , e sim o valor da variavel numero , entao deve chamar o metodo getNumero

Olá Campanate, seja bem vindo ao GUJ. Quando vc postar algum código, por favor coloque entre as tags [ code] [ /code] (sem o espaço entre os []).

P

sedmalakian:
Tenta Fazer Assim:

public class Lista {
        int[] vetor = new int[10];

        public void setNumero(int i, int novaLista){
            this.vetor[i] = novaLista;
        }
        public int getTamanho(){
            return this.vetor.length;
        }
        public int getNumero(int i){
            return vetor[i];
        }
}

e na main

Lista novaLista = new Lista();
         
  for (int i = 0; i < novaLista.getTamanho(); i++) {
       novaLista.setNumero(i,Integer.parseInt(JOptionPane.showInputDialog("Informe o numero")));
  }
  for (int i=0;i<novaLista.getTamanho(); i++) {
       JOptionPane.showMessageDialog(null,novaLista.getNumero(i));
  }

Quanto a ordenação:

Pesquise sobre Pesquisa e Ordenação de Dados

aqui te um exemplo Otimo
http://www.guj.com.br/posts/list/163054.java

vc pode ler
http://www.inf.ufsc.br/~ronaldo/ine5384/15-OrdenacaoDados.pdf

deu certo desse jeito, obrigado.

*ps. desse jeito eu nao preciso declrar a variavel “numero”?
eu passo as informacoes dali direto pra dentro do vetor?
e isso? entendi certo?

abçs

P

Vingdel:
Olá puzzle,

O problema é que novaLista não existe, seria novoLista.

int novaLista é a variavel que recebe o valor.

novoLista, é a referência que vocês cria e teria deve ser passada como arqugumento ao chamar o método setInsere(i, novoLista):

A linha 19 da classe AppLista seria assim:

novoLista.setInsere(i, novoLista);

EDIT: Além disso, mesmo que você passe a referência com o nome correto, ainda continua errado, pois vocês estará passando no segundo argumento uma referência do tipo Lista, e o método deve receber no segundo argumento uma variável do tipo int.

Melhor revisar…

Abraço!

tentei usar esse metodo, alterar o campo pra novolista(eu devia ter usado outro nome ficaria mais facil tbm)
porem nao deu certo… apareceu mais uns 3 erros… ele nao achava o caminho
*** ou eu que nao soube usar direito :?
mesmo assim
muito obrigado
abçs

Criado 3 de setembro de 2010
Ultima resposta 4 de set. de 2010
Respostas 6
Participantes 5