Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

gremio10

[Resolvido] Problema de lógica com ArrayList

Recommended Posts

Galera, tenho um enunciado, e não estou conseguindo evoluir com a programação, pediria a ajuda de vocês.

 

Assim.:

 

a)Defina uma classe Automovel, que tem a seguinte informação: Marca,Ano,Nº Serie Motor,Cor e Preço

b)Defina um método construtor para a classe Automovel que inicializa os valores dos atributos

c)Defina métodos set/get p/ a classe Automovel

d)Implemente a classe Stand, que guarda toda a informação refente aos automoveis.Ou seja,esta classe não é nada mais do que uma base de dados do Stand que ,através da criação de um array de objetos do tipo Automovel, guarda toda a informação referente aos automoveis.

e)Defina os seguintes métodos para a classe Stand:

- inserirAutomoveis

- retirarAutomoveis

- listarMarca

- listarAno

f)Defina uma classe Principal que testa as classes implementar

 

e fiz assim...

 

package Automoveis: Automoveis.class

 

package Automoveis;

 

public class Automoveis {

	private String marca,cor;
	private int ano;
	private double preco,serie,motor;
	
	public Automoveis(){
		this.marca	= "  ";
		this.cor	= "  ";
		this.ano	= 0;
		this.preco	= 0;
		this.serie	= 0;
		this.motor	= 0;
	}
	
	public Automoveis(String marca,String cor,int ano, double preco,double serie,double motor){
		this.marca	= marca;
		this.cor	= cor;
		this.ano	= ano;
		this.preco	= preco;
		this.serie	= serie;
		this.motor	= motor;
	}
	
	public void setMarca(String marca){
		this.marca	= marca;
	}
	
	public void setCor(String cor){
		this.cor 	= cor;
	}
	
	public void setAno(int ano){
		this.ano	= ano;
	}
	
	public void setPreco(double preco){
		this.preco	= preco;
	}
	
	public void setSerie(double serie){
		this.serie	= serie;
	}
	
	public void setMotor(double motor){
		this.motor  = motor;
	}
	
	public String getMarca(){
		return this.marca;
	}
	
	public String getCor(){
		return this.cor;
	}
	
	public int getAno(){
		return this.ano;
	}
	
	public double getPreco(){
		return this.preco;
	}
	
	public double getSerie(){
		return this.serie;
	}
	
	public double getMotor(){
		return this.motor;
	}
	
}

package Stand: Stand.class

 

 

package Stand;
import java.util.ArrayList;
import java.util.List;

import Automoveis.Automoveis;

public class Stand extends Automoveis {
	
	
	public static void main(String[]args){
			
			List<String>vetor;
			
			vetor = new ArrayList<String>();
			vetor.add("Ferrari");
			vetor.add("Vermelho");
			vetor.add("2010");
			vetor.add("500.000");
			vetor.add("007");
			vetor.add("2.0");
			
			
			
	}
	
	
	
	public void inserirAutomoveis(String marca,String cor,int ano, double preco,double serie, double motor){
	
		setMarca(marca);
		setCor(cor);
		setAno(ano);
		setPreco(preco);
		setSerie(serie);
		setMotor(motor);
		
	}
	
	public void removerAutomoveis(){
		
		
		
	}
	
}

 

Agradeço a ajuda :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

Galera, tenho um enunciado, e não estou conseguindo evoluir com a programação, pediria a ajuda de vocês.

 

Como assim cara? Seu código tá legal, e está programando em Java, quer que seja algo fácil e mar de flores?

kkkkkkkkkkkkkkkkkk

 

Brincadeira. Qual é sua dificuldade?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Seguinte Guilherme_90 , assim , na minha classe Stand, o enunciado pede para criar um array com os dados, e tbm criar métodos do inserirAutomoveis e etc... so que quando crio eles, e mando utilizar na mina static void main da classe Stand, ele me retorna um erro dizendo que não se pode utilizar algo non-static, entao eu mudo para public static void o metodo, e os atributos coloco como Automoveis, da minha classe Automoveis, ai ele me retorna outro erro, não consigo compreender...

 

Obrigado pela ajuda, acredito que pelo menos a classe Automoveis esteja certa.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Seguinte Guilherme_90 , assim , na minha classe Stand, o enunciado pede para criar um array com os dados, e tbm criar métodos do inserirAutomoveis e etc... so que quando crio eles, e mando utilizar na mina static void main da classe Stand, ele me retorna um erro dizendo que não se pode utilizar algo non-static, entao eu mudo para public static void o metodo, e os atributos coloco como Automoveis, da minha classe Automoveis, ai ele me retorna outro erro, não consigo compreender...

 

Obrigado pela ajuda, acredito que pelo menos a classe Automoveis esteja certa.

 

O primeiro erro já está claro, acho. Você não pode referenciar variáveis ou métodos não estáticos dentro de métodos estáticos. E o segundo certamente é um NullPointerException. Para chamar métodos não estáticos dentro de uma classe estática você instanciar o objeto e depois chamar o método.

public static void main(String[] args) {
   Stand stand = new Stand();
   stand.inserirAutomoveis(objeto);
}

Primeiro de tudo, aconselho-o a renomear a classe Automoveis para Automovel, uma vez que se trata de uma classe de entidade. Segundo, no construtor padrão da classe Automovel, se você quer apenas iniciar o valor de uma String, coloque "" e não " ". A primeira significa vazio e a segunda espaço em branco.

 

Na segunda parte você embolou todo o meio de campo. Não é pra você fazer a classe Stand herdar de Automovel e muito menos ter o método main. A classe Stand será uma espécie de repositório ou base de dados do seu programa. Assim sendo, você deve fazer o seguinte:

public class Stand {

   private List<Automovel> automoveis;

   public Stand() {
      this.automoveis = new ArrayList<Automovel>();
   }

   public void inserir(Automovel automovel) {
      // Seu código aqui. Pesquise a API, pois fazer isso é mais simples do que podes imaginar.
   }

   public void remover(Automovel automovel) {
      // Seu código aqui. Se tiver problemas, pesquise pelos métodos equals e hashcode.
   }

   public void remover(int indice) {
      // Seu código aqui.
   }

   public List<Automovel> listaMarca() {
      // Seu código aqui.
   }

   public List<Automovel> listaAno() {
      //
   }
}

E finalmente a classe de teste/execução com o método main.

public class TestaApp {
   public static void main(String[] args) {
      Stand stand = new Stand();
      // Seu código aqui.
   }
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.