Faça um programa em Java, orientado a objetos, com as seguintes características:

Pessoal essa trés não estou entendo direito alguem pode me ajudar?

Mas por favor se poder comentar o código para que eu possa estudar e aprender. Obrigado.

Faça um programa em Java, orientado a objetos, com as seguintes características:

Desenvolva uma classe que represente um automóvel e possua os atributos código, nome, valorInicial, ano e tipo.
 O tipo deverá ter o valor 1, quando se tratar de um automóvel popular; e o valor 2, quando se tratar de automóvel de padrão luxo.
 Regra de negócio: a cada ano, o carro de padrão popular tem uma depreciação de 8%, enquanto um carro de padrão luxo tem uma depreciação de 5%. Esta regra é aplicada para calcular o valor de mercado do veículo.
 A classe Automovel deverá possuir ainda:
o Um método getValor(), que recebe o ano atual como parâmetro e retorna o valor de mercado do automóvel.
o Um método getInformacoes(), que exibe todas as informações do veículo, como no exemplo a seguir:
Código: 0001
Nome: Fiat Palio
Cor: Prata
Ano: 2008
Padrão: Popular
Valor Inicial: R$30.000,00
Valor de mercado em 2013: R$19.772,45
 Crie uma classe denominada Principal, com o método main, e teste a estrutura criada acima.

//Onde eu conseguir chegar mas não sei se ta certo

[code]
public class Automovel {
// Atributos
int codigo;
String nome;
double valorInicial;
int ano;
int anoFabricado; // Variavel nova
int tipo;
double valor = 0;

// métodos
void  setNegocio(){
			
	if(tipo == 1)
	{
		System.out.println("Padrão: Popular"); 
	}
	else
	{
		System.out.println("Padrão: Luxo");
	}
	
} // fim do método

double getValor(int ano){
	
} // Merodo que retorna o valor do carro

public void getInformacoes() 
{
	System.out.println("Código: "+ codigo);
	System.out.println("Nome: "+ nome);
	System.out.println("Ano: "+ ano);
	System.out.println("Valor Inicial: "+ valorInicial);
	System.out.println("Valor de mercado em 2013: ");
		
} // fim do método getInformacoes

} // fim do método Automovel[/code]

public class AutomovelTestDrive {

	public static void main(String[] args) {
		

	}

}

Você está no caminho certo. Entretanto não entendi ao certo o motivo do método setNegocio. Ele não está na especificação, aparentemente. Para implementar a regra, você precisa do cálculo de depreciação. A princípio, você pode continuar sua implementação e fazer este cálculo no método getValor.

Outros detalhes:
Você usou o modificador de acesso public no método getInformacoes. Algum motivo para não utilizar estes modificadores nos demais atributos/métodos?
Você pode criar um construtor para inicializar seu objeto com alguns valores.
Não sei se você já aprendeu, mas você pode declarar os valores do tipo (1 e 2) como constantes:

public static final AUTOMOVEL_POPULAR = 1;
public static final AUTOMOVEL_DE_LUXO = 2;

O ideal seria usar um enum neste caso. Mas você possivelmente ainda não aprendeu, melhor deixar para depois.

Na verdade o modificadores public eu usei pois tentei fazer igual do Livro do Deitel mas sem sucesso.

Ainda não aprendemos construtores, mas eu sei uma base sobre eles pois já li algo no livro sobre tal assunto else servem para inicializar ja com algum valor. O problema e que não estou sabendo aplicar tais funcionalidaes no meu programa. Não sei em que mas eu programava em C programação estruturada. Estou me confundido todo com orientação a objetos.
kkkk.