Mensagem de erro na hora de rodar a classe principal

classe que cadastra e exibe

classe principal

CadastraVeiculos

//Trabalho nº 01 - Faculdade Pitágoras
//Disciplica: POO
//Programadores: Rafael S. Pimenta e Télio

//Este programa será utilizado para controlar a saída de veículos em uso dos funcionários da empresa.
//Será recolhido o nome do veículo, a placa do veículo, tipo de combustível utilizado e o nome
// do funcionário que está responsável pelo veículo da empresa. recolhido essas informações o programa
//exibira uma tabela dos veículos em uso pelos funcionários.

import java.util.Scanner;//programa utiliza a classe Scanner

public class CadastrosVeiculos
{
private String nVeiculo;//variavel armazena nome do veiculo.

public void setNVeiculo( String nVeiculo1 )//método para configurar o nome do veículo.
{
	nVeiculo1 = nVeiculo;//armazena o nome do veículo.
}//termina o método setNVeiculo

public String getNVeiculo()//método para recuperar o nome do veículo.
{
	return nVeiculo;
}//termina o método getNVeiculo

private String nuPlaca;//variavel armazena o número da placa do veículo.

public void setNuVeiculo( String nuPlaca1 )//método para configurar o número da placa do veículo.
{
	nuPlaca1 = nuPlaca;//armazena o número da placa do veículo.
}//termina o método setNuVeiculo

public String getNuPlaca()//método para recuperar o número da placa do veículo.
{
	return nuPlaca;
}//termina o método getNuPlaca

private String combustivel;//variavel armazena o tipo de combustivel.

public void setCombustivel( String combustivel1 )//método para configurar o tipo de combustível.
{
	combustivel1 = combustivel;//armazena o tipo de combustível.
}//termina o método setCombustivel

public String getCombustivel()//método para recuperar o tipo de combustível.
{
	return combustivel;
}//termina o método getCombustivel

private String nFuncionario;//variavel armazena o nome do funcionario que está responsável pelo veículo.

public void setNFuncionario( String nFuncionario1 )//método para configurar o nome do funcionário.
{
	nFuncionario1 = nFuncionario;//armazena o nome do funcionário.
}//termina o método setnFuncionario.

public String getNFuncionario()//método para recuperar o nome do funcionario.
{
	return nFuncionario;
}//termina o método getNFuncionario.

public void cadastro()//método cadastra nome do veículo, número da placa, tipo de combustível utilizado 
					  //e nome do funcionario responsável pelo veículo.
{
	Scanner input = new Scanner(System.in);
	
	System.out.print("Por favor digite o nome do veículo: \n");
	nVeiculo = input.nextLine();
	
	System.out.print("Por Favor digite o número da placa do veículo: \n");
	nuPlaca = input.nextLine();
	
	System.out.print("Por Favor digite o tipo de combustível utilizado no veículo: \n");
	combustivel = input.nextLine();
	
	System.out.print("Por Favor digite o nome do funcionário responsável pelo empréstimo do veículo: \n");
	nFuncionario = input.nextLine();
	
}//fim do metodo cadastro

public void mostraMensagem()//metodo exibe os dados cadastrados
{
	//essa instrução chama getNVeiculo() para obter o nome do veiculo
	System.out.printf("Nome do veículo: %s, ", getNVeiculo() );
	
	//essa instrução chama getNUPlaca() para obter o número da placa do veiculo.
	System.out.printf("Número da placa do veículo: %s, ", getNuPlaca());
	
	//essa instrução chama getCombustivel() para obter o tipo de combustível.
	System.out.printf("Tipo de combustivel %s, ", getCombustivel());
	
	//essa instrução chama getNFuncionario() para obter o nome do funcionario responsavel pelo veiculo.
	System.out.printf("Nome do funcionário %s, ", getNFuncionario());

}//fim do metodo mostraMensagem

}//fim da classe CadastrosVeiculos

PrincipalVeiculos

//Trabalho nº 01 - Faculdade Pitágoras
//Disciplica: POO
//Programadores: Rafael S. Pimenta e Télio

//Este programa será utilizado para controlar a saída de veículos em uso dos funcionários da empresa.
//Será recolhido o nome do veículo, a placa do veículo, tipo de combustível utilizado e o nome
// do funcionário que esta usando o veículo da empresa. recolhido essas informações o programa exibira uma tabela
//dos veículos em uso pelos funcionários.

public class PrincipalVeiculos
{
//método main inicia a execução do programa
public static void main (String args[])
{
CadastrosVeiculos veiculos[] = new CadastrosVeiculos[10];
for ( int cont = 0 ; cont < veiculos.length ; cont++ )
veiculos[cont].mostraMensagem();

}//fim do método main

}//fim da classe PrincipalVeiculos

mensagem de erro:

[color=red]Exception in thread “main”[/color]java.lang.NullPointerException
[color=red]at trabalhoVeiculos.PrincipalVeiculos.main([/color]PrincipalVeiculos.java:20[color=red])[/color]

nao tenho a minima ideia de pq esta dando esta msg, eu utilizo o eclipse e ele n mostra nenhum erro antes de rodar
o programa!

alguem pode me ajudar, eh um trabalho da facul pra hj!!
abracooss e vlww galera

ps. me perdoem algum erro no post, primeira vez q posto!
prometo melhorar

O problema está no seu método main, você criou um array com 10 veículos, mas não instanciou nenhum deles:

public static void main (String args[]) { CadastrosVeiculos veiculos[] = new CadastrosVeiculos[10]; for ( int cont = 0 ; cont < veiculos.length ; cont++ ) veiculos[cont].mostraMensagem(); // está usando um veículo sem instanciá-lo }//fim do método main

Você pode fazer assim:

public static void main (String args[]) { CadastrosVeiculos veiculos[] = new CadastrosVeiculos[10]; for ( int cont = 0 ; cont < veiculos.length ; cont++ ) { veiculos[cont] = new CadastrosVeiculos(); veiculos[cont].mostraMensagem(); } }//fim do método main

Só + uma coisa, seus métodos Set’s estão todos errados, por exemplo:

public void setNVeiculo( String nVeiculo1 )//método para configurar o nome do veículo. { nVeiculo1 = nVeiculo;//armazena o nome do veículo. }//termina

E o certo seria:

public void setNVeiculo( String nVeiculo1 )//método para configurar o nome do veículo. { nVeiculo = nVeiculo1;//armazena o nome do veículo. }//termina

Espero ter ajudado, t+.

Ola!
me ajudou bastante simm!
agora esta quase tudo certo!

quase… rsrs

o programa esta rodando, porem o resultado esta saindo assim no console:

Nome do veículo: null, Número da placa do veículo: null, Tipo de combustivel: null, Nome do funcionário: null,

Nome do veículo: null, Número da placa do veículo: null, Tipo de combustivel: null, Nome do funcionário: null,

Nome do veículo: null, Número da placa do veículo: null, Tipo de combustivel: null, Nome do funcionário: null,

Nome do veículo: null, Número da placa do veículo: null, Tipo de combustivel: null, Nome do funcionário: null,

Nome do veículo: null, Número da placa do veículo: null, Tipo de combustivel: null, Nome do funcionário: null,

Nome do veículo: null, Número da placa do veículo: null, Tipo de combustivel: null, Nome do funcionário: null,

Nome do veículo: null, Número da placa do veículo: null, Tipo de combustivel: null, Nome do funcionário: null,

Nome do veículo: null, Número da placa do veículo: null, Tipo de combustivel: null, Nome do funcionário: null,

Nome do veículo: null, Número da placa do veículo: null, Tipo de combustivel: null, Nome do funcionário: null,

Nome do veículo: null, Número da placa do veículo: null, Tipo de combustivel: null, Nome do funcionário: null,

como que eu faço pra em vez d sair o resultado “null”, o programa me solicitar que eu digite o valor da variavel.

obrigadoo diego2005!

Ola!
me ajudou bastante simm!
agora esta quase tudo certo!

quase… rsrs

o programa esta rodando, porem o resultado esta saindo assim no console:

Nome do veículo: null, Número da placa do veículo: null, Tipo de combustivel: null, Nome do funcionário: null,

Nome do veículo: null, Número da placa do veículo: null, Tipo de combustivel: null, Nome do funcionário: null,

Nome do veículo: null, Número da placa do veículo: null, Tipo de combustivel: null, Nome do funcionário: null,

Nome do veículo: null, Número da placa do veículo: null, Tipo de combustivel: null, Nome do funcionário: null,

Nome do veículo: null, Número da placa do veículo: null, Tipo de combustivel: null, Nome do funcionário: null,

Nome do veículo: null, Número da placa do veículo: null, Tipo de combustivel: null, Nome do funcionário: null,

Nome do veículo: null, Número da placa do veículo: null, Tipo de combustivel: null, Nome do funcionário: null,

Nome do veículo: null, Número da placa do veículo: null, Tipo de combustivel: null, Nome do funcionário: null,

Nome do veículo: null, Número da placa do veículo: null, Tipo de combustivel: null, Nome do funcionário: null,

Nome do veículo: null, Número da placa do veículo: null, Tipo de combustivel: null, Nome do funcionário: null,

como que eu faço pra em vez d sair o resultado “null”, o programa me solicitar que eu digite o valor da variavel.

obrigadoo diego2005!

ah o codigo fonte! das duas classes abaixo:

classe CadastrosVeiculos

[code]//Trabalho nº 01 - Faculdade Pitágoras
//Disciplica: POO
//Programadores: Rafael S. Pimenta e Télio

//Este programa será utilizado para controlar a saída de veículos em uso dos funcionários da empresa.
//Será recolhido o nome do veículo, a placa do veículo, tipo de combustível utilizado e o nome
// do funcionário que está responsável pelo veículo da empresa. recolhido essas informações o programa
//exibira uma tabela dos veículos em uso pelos funcionários.

import java.util.Scanner;//programa utiliza a classe Scanner

public class CadastrosVeiculos
{
private String nVeiculo;//variavel armazena nome do veiculo.

public void setNVeiculo( String nVeiculo1 )//método para configurar o nome do veículo.
{
	nVeiculo = nVeiculo1;//armazena o nome do veículo.
}//termina o método setNVeiculo

public String getNVeiculo()//método para recuperar o nome do veículo.
{
	return nVeiculo;
}//termina o método getNVeiculo

private String nuPlaca;//variavel armazena o número da placa do veículo.

public void setNuVeiculo( String nuPlaca1 )//método para configurar o número da placa do veículo.
{
	nuPlaca = nuPlaca1;//armazena o número da placa do veículo.
}//termina o método setNuVeiculo

public String getNuPlaca()//método para recuperar o número da placa do veículo.
{
	return nuPlaca;
}//termina o método getNuPlaca

private String combustivel;//variavel armazena o tipo de combustivel.

public void setCombustivel( String combustivel1 )//método para configurar o tipo de combustível.
{
	combustivel = combustivel1;//armazena o tipo de combustível.
}//termina o método setCombustivel

public String getCombustivel()//método para recuperar o tipo de combustível.
{
	return combustivel;
}//termina o método getCombustivel

private String nFuncionario;//variavel armazena o nome do funcionario que está responsável pelo veículo.

public void setNFuncionario( String nFuncionario1 )//método para configurar o nome do funcionário.
{
	nFuncionario = nFuncionario1;//armazena o nome do funcionário.
}//termina o método setnFuncionario.

public String getNFuncionario()//método para recuperar o nome do funcionario.
{
	return nFuncionario;
}//termina o método getNFuncionario.

public void cadastro()//método cadastra nome do veículo, número da placa, tipo de combustível utilizado 
					  //e nome do funcionario responsável pelo veículo.
{
	Scanner input = new Scanner(System.in);
	
	System.out.print("Por favor digite o nome do veículo: \n");
	nVeiculo = input.nextLine();
	
	System.out.print("Por Favor digite o número da placa do veículo: \n");
	nuPlaca = input.nextLine();
	
	System.out.print("Por Favor digite o tipo de combustível utilizado no veículo: \n");
	combustivel = input.nextLine();
	
	System.out.print("Por Favor digite o nome do funcionário responsável pelo empréstimo do veículo: \n");
	nFuncionario = input.nextLine();
	
}//fim do metodo cadastro

public void mostraMensagem()//metodo exibe os dados cadastrados
{
	//essa instrução chama getNVeiculo() para obter o nome do veiculo
	System.out.printf("Nome do veículo: %s, ", getNVeiculo() );
	
	//essa instrução chama getNUPlaca() para obter o número da placa do veiculo.
	System.out.printf("Número da placa do veículo: %s, ", getNuPlaca());
	
	//essa instrução chama getCombustivel() para obter o tipo de combustível.
	System.out.printf("Tipo de combustivel: %s, ", getCombustivel());
	
	//essa instrução chama getNFuncionario() para obter o nome do funcionario responsavel pelo veiculo.
	System.out.printf("Nome do funcionário: %s, \n\n", getNFuncionario());

}//fim do metodo mostraMensagem

}//fim da classe CadastrosVeiculos
[/code]

classe PrincipalVeiculos

public class PrincipalVeiculos 
{
	//método main inicia a execução do programa
	public static void main (String args[])
	{
		System.out.println("\t\t EMPRESA R & S LTDA.\n\nSegue abaixo lista de todos os carros emprestados.\n");
		CadastrosVeiculos veiculos[] = new CadastrosVeiculos[10];
		for ( int cont = 0 ; cont < veiculos.length ; cont++ )
		{
		veiculos[cont] = new CadastrosVeiculos();   
        veiculos[cont].mostraMensagem(); 
		}//fim do for
		
	}//fim do método main
	
}//fim da classe PrincipalVeiculos

No método cadastro você precisa setar os dados digitados no console:

System.out.print("Por favor digite o nome do veículo: \n");
setNVeiculo(input.nextLine());
System.out.print("Por Favor digite o número da placa do veículo: \n");
setNuPlaca(input.nextLine());
System.out.print("Por Favor digite o tipo de combustível utilizado no veículo: \n");
setCombustivel(input.nextLine());
System.out.print("Por Favor digite o nome do funcionário responsável pelo empréstimo do veículo: \n");
setNFuncionario(input.nextLine());

E no main esse for sempre vai dar nullpointer tente algo assim:

CadastrosVeiculos cadastro = new CadastrosVeiculos();
cadastro.cadastro();
cadastro.mostraMensagem();

vlw spammer!
dese jeito funcionaou certim!

mas eu preciso cadastrar dez vez, por isso tava achando q devia usar o for e array

mas agora soh ta faltando isso pra dar certo!
ta valendo 10 pontos esse prog hj anoite na facul, aula d POO.
vo tentando descobrir cmo q vou fazer pra cadastrar 10 vezes!
se vc ou alguem puder ajudar vlw!!!
abraçooo!!!

e se em vez d usar for eu utilizar while, vai dar essa msg null na hora d imprimir do mesmo geito1?

vlwww

Vai, uma dica crie uma entrada para o usuario criar o numero de clientes que ele deseja cadastrar, faça um for chamando o console com a quantidade informada, isso deve resolver.

eu fiz assim agora:

[code]public class PrincipalVeiculos
{
//método main inicia a execução do programa
public static void main (String args[])
{
int cont = 0;

	System.out.println("\t\t\t\t\t EMPRESA R & S LTDA.\n\n");

	CadastrosVeiculos veiculos[] = new CadastrosVeiculos[10];
	while ( cont < 10 )
	{
	veiculos[cont] = new CadastrosVeiculos();   
    veiculos[cont].mostraMensagem();
    cont++;
	}//fim do for
	
}//fim do método main

}//fim da classe PrincipalVeiculos[/code]

e o resultado foi:

[code] EMPRESA R & S LTDA.

Nome do veículo: null, Número da placa do veículo: null, Tipo de combustivel: null, Nome do funcionário: null,

Nome do veículo: null, Número da placa do veículo: null, Tipo de combustivel: null, Nome do funcionário: null,

Nome do veículo: null, Número da placa do veículo: null, Tipo de combustivel: null, Nome do funcionário: null,

Nome do veículo: null, Número da placa do veículo: null, Tipo de combustivel: null, Nome do funcionário: null,

Nome do veículo: null, Número da placa do veículo: null, Tipo de combustivel: null, Nome do funcionário: null,

Nome do veículo: null, Número da placa do veículo: null, Tipo de combustivel: null, Nome do funcionário: null,

Nome do veículo: null, Número da placa do veículo: null, Tipo de combustivel: null, Nome do funcionário: null,

Nome do veículo: null, Número da placa do veículo: null, Tipo de combustivel: null, Nome do funcionário: null,

Nome do veículo: null, Número da placa do veículo: null, Tipo de combustivel: null, Nome do funcionário: null,

Nome do veículo: null, Número da placa do veículo: null, Tipo de combustivel: null, Nome do funcionário: null,

[/code]

esse null num quer sair nemmmmm rsr

ata!!
vo tentarr sim!
vlw pela dica!!!

a classe principal agora esta assim:

[code]import java.util.Scanner;//programa utiliza a classe Scanner

public class PrincipalVeiculos
{
//método main inicia a execução do programa
public static void main (String args[])
{
int cont;

	System.out.println("\t\t\t\t\t EMPRESA R & S LTDA.\n\n");
	System.out.print("Digite a quantidade de veículos que será feito o cadastro:");
	Scanner input = new Scanner(System.in);
	cont = input.nextInt();
 
    CadastrosVeiculos veiculos[] = new CadastrosVeiculos[cont];   
    for ( cont  = 0 ; cont < veiculos.length ; cont++ )   
    {   
    veiculos[cont] = new CadastrosVeiculos();      
    veiculos[cont].mostraMensagem(); 
	}//fim do for
	
}//fim do método main

}//fim da classe PrincipalVeiculos[/code]

console:

[code] EMPRESA R & S LTDA.

Digite a quantidade de veículos que será feito o cadastro:1
Nome do veículo: null, Número da placa do veículo: null, Tipo de combustivel: null, Nome do funcionário: null, [/code]

to chegando perto neh! hehehe

depois dessa, espero q n tenha mais probelmas com esse null

to lendo o livro java como programar 6º ed.

a medida q for lendo espero q n tenha mais essas duvidas
ainda estou no 3º capitulo!

ainda ta dando erro! =/

vo tentar arrumar aki por tentativa e erro! rsr

abraçoo!

Você me deve uma Original:

Seu metodo cadastro deve retornar CadastrosVeiculos

public CadastrosVeiculos cadastro() {
	CadastrosVeiculos veiculo = new CadastrosVeiculos();
	Scanner input = new Scanner(System.in);
	System.out.print("Por favor digite o nome do veículo: \n");
	veiculo.setNVeiculo(input.nextLine());
	System.out.print("Por Favor digite o número da placa do veículo: \n");
	veiculo.setNuPlaca(input.nextLine());
	System.out.print("Por Favor digite o tipo de combustível utilizado no veículo: \n");
	veiculo.setCombustivel(input.nextLine());
	System.out.print("Por Favor digite o nome do funcionário responsável pelo empréstimo do veículo: \n");
	veiculo.setNFuncionario(input.nextLine());
	return veiculo;
}

Crie esse metodo para guardar a quantidade de clientes

public void setQuantidade(){
	Scanner in = new Scanner(System.in);
	System.out.print("Por favor digite quantidade de clientes: \n");
	setQtd(in.nextInt());
}

E e guarde em:

private int qtd;
public int getQtd() {
    return qtd;
}

public void setQtd(int qtd) {
   this.qtd = qtd;
}

Agora no main chame assim:

public static void main(String[] args) {
	CadastrosVeiculos cadastro = new CadastrosVeiculos();
        //solicita a quantidade
	cadastro.setQuantidade();
        //criando uma lista
	List<CadastrosVeiculos> veiculos = new ArrayList<CadastrosVeiculos>();
	for(int i=0;i<cadastro.getQtd();i++){
                //estou adicionando em uma lista os dados 
		veiculos.add(cadastro.cadastro());
	}
	//percorre a lista e exibe		
	for (CadastrosVeiculos cadastrosVeiculos : veiculos) {
		System.out.printf("Nome do veículo: %s, ", cadastrosVeiculos.getNVeiculo());
		System.out.printf("Número da placa do veículo: %s, ", cadastrosVeiculos.getNuPlaca());
		System.out.printf("Tipo de combustivel: %s, ", cadastrosVeiculos.getCombustivel());
		System.out.printf("Nome do funcionário: %s, \n\n", cadastrosVeiculos.getNFuncionario());
		
	}
}

A retirei o metodo mostra mensagem.

Melhorando um pouco:

Crie uma classe separada so para Veiculo:

public class Veiculo {
	private String nVeiculo;// variavel armazena nome do veiculo.
	private String nuPlaca;// variavel armazena o número da placa do veículo.
	private String combustivel;// variavel armazena o tipo de combustivel.
	private String nFuncionario;// variavel armazena o nome do funcionario que
	private int qtd;// está responsável pelo veículo.

	public String getNVeiculo() {
		return nVeiculo;
	}

	public void setNVeiculo(String veiculo) {
		nVeiculo = veiculo;
	}

	public String getNuPlaca() {
		return nuPlaca;
	}

	public void setNuPlaca(String nuPlaca) {
		this.nuPlaca = nuPlaca;
	}

	public String getCombustivel() {
		return combustivel;
	}

	public void setCombustivel(String combustivel) {
		this.combustivel = combustivel;
	}

	public String getNFuncionario() {
		return nFuncionario;
	}

	public void setNFuncionario(String funcionario) {
		nFuncionario = funcionario;
	}

	public int getQtd() {
		return qtd;
	}

	public void setQtd(int qtd) {
		this.qtd = qtd;
	}
}

Sua classe CadastrosVeiculos

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class CadastrosVeiculos {
	Veiculo veiculo = new Veiculo();
	
	public void setQuantidade(){
		Scanner in = new Scanner(System.in);
		System.out.print("Por favor digite quantidade de clientes: \n");
		veiculo.setQtd(in.nextInt());
	}
	
	public Veiculo cadastro() {
		Veiculo veiculoAtual = new Veiculo();
		Scanner input = new Scanner(System.in);
		System.out.print("Por favor digite o nome do veículo: \n");
		veiculoAtual.setNVeiculo(input.nextLine());
		System.out.print("Por Favor digite o número da placa do veículo: \n");
		veiculoAtual.setNuPlaca(input.nextLine());
		System.out.print("Por Favor digite o tipo de combustível utilizado no veículo: \n");
		veiculoAtual.setCombustivel(input.nextLine());
		System.out.print("Por Favor digite o nome do funcionário responsável pelo empréstimo do veículo: \n");
		veiculoAtual.setNFuncionario(input.nextLine());
		return veiculoAtual;
	}
	
	public void mensagem(){
		List<Veiculo> veiculos = new ArrayList<Veiculo>();
		for(int i=0;i<veiculo.getQtd();i++){
			veiculos.add(cadastro());
		}
		for (Veiculo veiculoFor : veiculos) {
			System.out.printf("Nome do veículo: %s, ", veiculoFor.getNVeiculo());
			System.out.printf("Número da placa do veículo: %s, ", veiculoFor.getNuPlaca());
			System.out.printf("Tipo de combustivel: %s, ", veiculoFor.getCombustivel());
			System.out.printf("Nome do funcionário: %s, \n\n", veiculoFor.getNFuncionario());
		
		}
	}
}

E a classe PrincipalVeiculos

public class PrincipalVeiculos {
	public static void main(String[] args) {
		CadastrosVeiculos cadastro = new CadastrosVeiculos();
		cadastro.setQuantidade();
		cadastro.mensagem();
	}
}

Mais bonito e simples!

Pedrosa !
vlww velhoo!!!

to achando q vo tirar 10 nesse trababalhooo!!

sem sua ajuda n tinha conseguido!

estou dando uma lida pra entender melho como funciona as classe q vc importou para esse programa. (List e ArrayList)

vlww!!!