Não consigo usar o Vector

18 respostas
R

Nunca programei em Java e tenho que fazer um trabalho para a faculdade.
Seria um cadastro de municipios, ler de um arquivo texto , adicionar, excluir, alterar, gerar relatorios.

Bem cada municipio pode ter um perfil, turistico, comercial, industrial, além das caracteristica do municipio. E tem uma lista de vizinhos.

Criei uma classe perfil que reune as classes de cada perfil.
Sendo que o perfil industrial é uma lista contendo um código e a quantidade.

Estou engatinhando pois nunca vi java.
Qualquer ajuda agradeço.

Ai vai o código até aqui.

class clsMunicipio{
	
	String nome;
	int populacao;
	int area;
	int renda;
	clsPerfil perfil = new perfil();
}

 class clsComercio{
	int quantidade;
	int movimentacao;
}


class clsTuristico{
	int baixa;
	int media;
	int alta;	
}

class clsIndustria{
	
	public clsIndustria(int c,int q){
		codigo=c;
		quantidade = q;		
	}
	
	public void print(){
		System.out.println (codigo + " " + quantidade + " ");
	}
	
	public int getCodigo(){		
		return codigo;	
	}
	
	public int getQuantidade(){
		return quantidade;	
	}

	private int codigo;
	private int quantidade;	 	
	
}

class clsPerfil{
	private
	clsIndustria industria = new clsIndustria();
	public
	clsTuristico turistico = new clsTuristico();	
	clsComercio comercio = new clsComercio();
	Vector industria = new Vector();

}

class clsLstIndustria{
	
	public void adicionarIndustria (clsIndustria i){
		lista.add(i);
	} 
	
	public clsIndustria removerIndustria (clsIndustria i){ 
		int n = encontrar (lista, i);
		if (n==-1)
			return null;
		else
			return (clsIndustria)lista.remove(n);
	}
	
	public void listarIndustria (){ 
		for (int i = 0; i < lista.size(); i++)
		{		
			System.out.println(((clsIndustria)lista.get(i)).getCodigo());
			System.out.println(((clsIndustria)lista.get(i)).getQuantidade());
		}
	}
	
	private static int encontrar (Vector v, clsIndustria b){
		int i;
		for (i = 0; i < v.size(); i++)
			if (((clsIndustria)v.get(i)).equals(b)) return i;
				return -1; // Caso não encontre.
	}
	
	public int sizeIndustria (){
		return lista.size();
	} 
	
	private Vector lista = new Vector();
}

sei que tem coisa errada, mas eu nem consegui sair da classe clsLstIndustria
Não consigo ao menos declarar uma variavel Vector

Aonde aparece Vector vem a seguinte msg de erro

C:\j2sdk1.4.2_05\classes\Teste\clsLstIndustria.java:34: cannot resolve symbol
symbol : class Vector
location: class clsLstIndustria
private Vector lista = new Vector();

com uma setinha apontando o V do Vector.

HELLLPPPPP

18 Respostas

ricardolecheta

quando for usar uma classe, precisa dar import nela… fez isto?

import java.util.Vector;
pcalcado

Não coloque prefixo/sufixo no nome de suas classes, retire o ‘cls’, e leia um tutorial de Java daqui do GUJ.

[]s

cv1

E pare de usar Vector se nao for precisar de acesso sincronizado SEMPRE. Use ArrayLists e a interface List ao inves de Vector quando esse nao for o caso :wink:

R

Tenho que usar o Vector pois a professora falou que deve ser pelo vector.
Vou dar uma olhada no tutorial de vcs.

E aonde que eu importo a classe vector? Aonde que escrevo?

R

OK, ja compilou. coloquei antes da declaração da class.

Obrigado.

fzampa
import java.lang.Vector;
 import javax.swing.*;
 //demais imports ficam aqui

 //cabeçalho da classe
 public class MinhaClasse extends JApplet implements Runnable
{

 //corpo da classe...

  ....

 }  //fim da classe, o que não é necessariamente o fim do arquivo. 
     //Pode-se ter mais classes em um só arquivo

O extends JApplet é um exemplo de uma applet e o Runnable será útil quando vc for utilizar threads.

:wink:

velo

Uma dica jah que você é novato, tenta usa uma IDE, sugiro o eclipse.

VELO

fzampa

Em ArrayLists e com a interface List consigo inserir tipos de dados diferentes (int, String, boolean, MeuObjeto) numa mesma estrutura?

pcalcado

Caramba, threads, applets, IDEs…vocês não estão pegando muito psado não?

Continue nos tutoriais. Não use uma IDE até saber fazer na mão. Esqueça applets e threads até passar pelo básico do básico.

[]s

pcalcado

fzampa:

Em ArrayLists e com a interface List consigo inserir tipos de dados diferentes (int, String, boolean, MeuObjeto) numa mesma estrutura?

Veja aqui e aqui :wink:

[]s

R

pcalcado esta tudo bem, conheço os conceitos e tenho experiencia em programação ,já programo em C a um tempo, ja vi delphi, c++ mas domino mesmo o VB. Mas é sempre dificil iniciar numa linguagem nova, quanto mais quando vc já domina uma.

Bem como sou cria do VB estou usando KDE sim, fazer na mão acho uma total ineficiencia no desenvolvimento.
No caso estou usando JCreator, achei muito bom , pena que não tem autocompletar.

Ja li alguns tutorias, tenho apostila, mas o trabalho é para 4 de janeiro, mas agora estou engatinhando melhor.

Sobre o uso do Vector é uma exigencia da professora então não posso usar Array.

Agradeço a ajuda de todos assim estou aprendendo cada vez mais um pouco.

fzampa

O fato de vc ser acostumado com linguagens do tipo Arrastar e soltar para a criação de telas vc pode pensar mesmo que fazer na mão gera ineficiência de desenvolvimento mas não. Se vc fizer na mão aprende muito mais. É melhor aprender do que ser condicionado a um ambiente de desenvolvimento.

O JCreator pro tem auto completar mas este não é free. O Eclipse tem auto completar e é free :smiley:

Por enquanto continue no JCreator que vc irá pegar o bom hábito de consultar a documentação da API, que deve estar dentro do diretório DOC no seu diretório de instalação do Java. Já viu esse?

Ps.: Vc disse KDE querendo dizer IDE, não? :smiley:

R

Saudações fzampa
Realmente me referia a IDE :lol:

sobre implementar tudo na mão realmente as vezes me pergunto o que seria melhor ou pior, mas como tudo é para ontem em nossa profissão prefiro ficar com o mais viavel.

Realmente o clicar e arrastar é uma mão na roda mas perde em conhecimento, e implementar tudo na mão vc de fato fica bem mais afiado na linguagem, mas creio que no fim vc vai fazer o reuso do código de qualquer forma. O copiar colar, esse creio que sempre é usado.

Como Java se pode programar em até TXT, realmente ficar condicionado a uma IDE limita o desenvolvedor ,visto que no mercado de trabalho vc esta sujeito e encontrar o uso de diferentes IDE’s.

Mas independente de se condicionar a uma IDE ou implementar tudo na mão o mais importante é entender os conceitos das LP’s

Esse trabalho é referente a uma materia da faculdade Linguagens de Programação, que ao longo do curso apresentou as caracteristicas das LP’s , desde declaração de variaveis até Exceções. Com exemplos entre C,C++, Java, ADA,Algol e etc.

Até polimorfismo o VB ( discriminado no Brasil) se apresentou de forma bem hibrida, onde determinadas caracteristicas tinha a boa, média e ruim sendo que no VB era possivel fazer nas 3. Mas quando chegou em herança, polimorfismo e Exceções o VB desceu ladeira abaixo, visto que não tem herança.

Estou gostando muito de JAVA, em apenas 2 dias já deu para ter uma palinha dessa poderosa linguagem. Pena que o virtual machine é pesado o que afunila a linguagem para fazer aplicações para PC.

Vou procurar o Eclipse, pois o autocompletar para mim é fundamental :lol: , vc no meio de um algoritmo complexo ficar parando para ver as propriedades de uma classe e parametros perde o foco no problema principal.

[]'s
Renato Mattos

velo

Até o windows puro é pesado num PC velho…

JAVA é um CANHÃO, você pode usá-lo pra matar uma FORMIGA, mas não dá pra botar uma MULA MANCA pra pruxar ele.

Pra fazer um programa leve, vc pode fazer em modo texto, pode usar o SWT (mais leve que o swing), pode dar uma otimizada nas coisas q vc coloca na tela, pode trabalhar com thread pra não perder tempo com IO…

Tem coisa pra brincar, heehehhe

VELO

aborges

Vc acha a VM do java pesada?

E a do DotNet entao??

cv1

Se a VM for pesada demais, vc so tem uma alternativa: tirar o escorpiao do bolso e comprar hardware pos-1995.

fzampa

aborges:
Vc acha a VM do java pesada?

E a do DotNet entao??

Comparação desleal… Essa pergunta no GUJ? :mrgreen:

cv1

O peso da VM do .NET nao tem muito a ver com a discussao, tem? :wink:

Criado 29 de dezembro de 2004
Ultima resposta 31 de dez. de 2004
Respostas 18
Participantes 7