Mostrar dados do vetor?

2 respostas
tiaguitoenes

:arrow: Olá usuários do GUJ, sou novo novo por aqui, e estou começando aprender JAVA. :wink:

Queria saber se alguém pode me ajudar?Desde já , obrigado;

Bom estou fazendo um programa de Locadora de Automoveis, onde eu tenho que mostrar os carros que estão disponiveis para serem locados e os não disponíveis, efetuar uma locação e uma devoulução de carros. O programa tem um banco de dados, e esse banco me da as opções de:
[list]Inserir carros;[/list]
[list]Procurar Carros;[/list]
[list]Retirar Carros;[/list]

A parte de inserir carros eu ja fiz, só o que não consigo é mostrar os carros que eu inseri no banco, já tentei de tudo e não consegui, ou seja não consigo mostrar na classe principal os dados do vetor, e sem mostrar os carros que eu inseri no banco não tem como dar a opção pro usuário(func) locar ou deslocar um carro.

Deêm uma olhada nos códigos:

o programa tem 3(três) classes:
[list]Locadora.class;(classe principal)onde irei mostrar os dados do vetor)[/list]
[list]Banco.Class;(onde os dados estao)[/list]
[list]Carros;(gets and sets)[/list]

Código do Banco de dados do programa:

Banco.Class;


public class Banco{

	private static Carro[] pessoas;
	private static int indice=-1;


	public static String insereCarro(Carro carro){

		System.out.println(carro);
				
		if(Banco.indice<0)
		pessoas=new Carro[3];

		if(Banco.indice<(Banco.pessoas.length-1)){

			Banco.indice++;
			Banco.pessoas[indice]=carro;		
			return "INSERIDO!";	

			//RETURN ele para a execução e volta

		}//FECHA O IF


		else
			return "CHEIO!";

	}//FECHA O METODO PRINCIPAL	

	
	public static String procuraCarro(String nome){
		if(Banco.indice<0)
			return "VAZIO!";
		else{

			int i=0;

			while(i<=Banco.indice){
				if(nome.equals(Banco.pessoas[i].getNome()))
					return Banco.pessoas[i].toString();
			else
				i++;

			}//fecha o while
				
		
			return "NAO ENCONTRADO!";

		}//fecha o else
	}//FECHA O METODO PRINCIPAL

	
	public static String retiraCarro(String nome){
		
		if(Banco.indice<0)
			return "VAZIO!";

		else{
			int i=0;

			while(i<=Banco.indice){
				if(nome.equals(Banco.pessoas[i].getNome()))
					break;
				else
					i++;
			}//fecha o while
					
			if(i>Banco.indice)
				return "NAO ENCONTRADO!";
		
			else if(i==Banco.indice)
			
				Banco.pessoas[i]=null;

				else{

					while(i<Banco.indice){
						Banco.pessoas[i]=Banco.pessoas[i+1];
					i++;

					}//fecha o while
				}//fecha o else

			Banco.indice--;
			return "RETIRADO DO BANCO COM SUCESSO!";
		
		}//fecha o else

	}//FECHA O METODO PRINCIPAL

}//fecha a classe

Código da classe Carros.java (gets and sets):

Carros.java

public class Carro{

    public String nome;
    public String marca;
    public String placa;
    public String ano;
    public String valoralug;
    public String chasis;

    public void setNome(String nome){
     	this.nome=nome;

    }


    public void setMarca(String marca){
     	this.marca=marca;

    }
    public void setPlaca(String placa){
     	this.placa=placa;

    }
    public void setAno(String ano){
     	this.ano=ano;

    }
    public void setValoralug(String valoralug){
     	this.valoralug=valoralug;

    }
    public void setChasis(String chasis){
     	this.chasis=chasis;

    }



    public String getNome(){
 	return nome;
   
    }

    public String getMarca(){
 	return marca;
   
    }

    public String getPlaca(){
 	return placa;
   
    }
    public String getAno(){
 	return ano;
   
    }
    public String getValoralug(){
 	return valoralug;
   
    }
    public String getChasis(){
 	return chasis;
   
    }


	public String toString(){


		System.out.printf("\n\t%s\n",">>>>>>>>>>>Dados do novo carro que voce inseriu no banco:<<<<<<<<");

		return String.format("\n\t%s%s\n\t%s%s\n\t%s%s\n\t%s%s\n\t%s%s\n\t%s%s",
		"NOME do carro: ",
		this.getNome(),
		"marca do carro: ",
		this.getMarca(),
		"Placa do carro: ",
		this.getPlaca(),
		"ano do carro: ",
		this.getAno(),
		"VAlor do aluguel do carro: ",
		this.getValoralug(),

		"chasis do carro: ",
		this.getChasis());

	}//fecha o toString
}//fecha a classe carro

E finalmente a classe principal:LOCADORA.class;
OBS.:Código inacabado.

Locadora.class;


import java.util.Scanner;//importa o scanner
import java.lang.String;



public class Locadora{
	public static int indice=-1;
	public static void main(String [] args){

	String nome=null;
  	String marca=null;
    	String placa=null;
    	String ano=null;
    	String valoralug=null;
   	String chasis=null;

	int escolha=0;

	Scanner input=new Scanner(System.in);//cria um scanner para receber o caracte do teclado
	Scanner input1=new Scanner(System.in);
	Scanner input2=new Scanner(System.in);

		while(escolha!=8){

			System.out.printf("\n%s\n\n","<<<MENU INICIAL>>>");
			System.out.printf("\n%s\n\n","<<<|W|E|L|C|O|M|E|>>>");
	

			System.out.printf("\n\t%s\n","[1]Inserir carros NA lista carros disponiveis");
			System.out.printf("\n\t%s\n","[2]CARROS DISPONIVEIS PARA SEREM LOCADOS");
			System.out.printf("\n\t%s\n","[3]CARROS NAO DISPONÍVES QUE ESTAO LOCADOS");
			System.out.printf("\n\t%s\n","[4]EFETUAR LOCACAO");
			System.out.printf("\n\t%s\n","[5]EFETUAR DEVOLUCAO");
			System.out.printf("\n\t%s\n","[6]PESQUISAR CARRO");
			System.out.printf("\n\t%s\n","[7]RETIRAR CARRO");
			System.out.printf("\n\t%s\n","[8]SAIR DO PROGRAMA");
			System.out.printf("\n\t%s\n","ESCOLHA UMA OPCAO DO MENU E DIGITE: ");
			escolha=input.nextInt();


			if(escolha==1){

				
				System.out.printf("\n\t%s\n","OPCAO Inserir carros");
	
				System.out.printf("\n\t%s\n","DIGITE O NOME/MODELO DO CARRO:");
				nome=input1.nextLine();

				System.out.printf("\n\t%s\n","DIGITE A MARCA DO CARRO:");
				marca=input1.nextLine();

				System.out.printf("\n\t%s\n","DIGITE O NUMERO DA PLACA DO CARRO:");
				placa=input1.nextLine();

				System.out.printf("\n\t%s\n","DIGITE O ANO DE FABRICACAO DO CARRO:");
				ano=input1.nextLine();

				System.out.printf("\n\t%s\n","DIGITE O VALOR DO ALUGUEL DO CARRO:");
				valoralug=input1.nextLine();


				System.out.printf("\n\t%s\n","DIGITE O NUMERO DO CHASIS DO CARRO:");
				chasis=input1.nextLine();

				Carro carro=new Carro();
				carro.setNome(nome);
				carro.setMarca(marca);    
				carro.setPlaca(placa);  
				carro.setAno(ano);  
				carro.setValoralug(valoralug);  
				carro.setChasis(chasis);  

			//System.out.println(carro.toString());
				
				System.out.printf("\n\t\t\t\t\n\t\t\t");
				System.out.println(Banco.insereCarro(carro));

			}//fecha o if 1



			if(escolha==2){

//parte do programa para mostrar os dados do vetor que está na classe banco
				if(pessoas[0] == null){
					System.out.printf("\n\n\t\t\t\t%s\n\n","NAO HA PESSOAS CADASTRADAS");
				}
				if(pessoas[0] != null){
					System.out.printf("\n\t\t\t\t\t%s\n","OS DADOS CADASTRADOS SAO:");
						for(int i=0; i<pessoas.length; i++){
							if(pessoas[i] != null){
								System.out.printf(Banco.pessoas[i].toString());

							}
						}
				}
		   			
			}//fecha o if 2

			if(escolha==6){

				System.out.printf("\n\t\t\t%S","PESQUISAR CARRO NO BANCO!!");

				System.out.printf("\n\t%s","Digite o nome que voce deseja procurar:");

				Scanner c=new Scanner(System.in);
				nome=c.nextLine();
				System.out.printf("\n\t\t\t\t\n\t\t\t");
				System.out.println(Banco.procuraCarro(nome));

			}//fecha o if 6

			if(escolha==7){
				System.out.printf("\n\t\t\t%S","RETIRAR CARRO DO BANCO!!");


				System.out.printf("\n\t%s","Digite o nome do carro que voce deseja apagar:");
				Scanner b=new Scanner(System.in);
				nome=b.nextLine();
				System.out.printf("\n\t\t\t\t\n\t\t\t");
				System.out.println(Banco.retiraCarro(nome));
	
			}//fecha o if






		}//FECHA O WHILE do menu
	}//fecha o metodo principal
}//FECHA A CLASSE locadora

Código para que seria para mostrar os dados na classe principal mais que da erro

if(pessoas[0] == null){
					System.out.printf("\n\n\t\t\t\t%s\n\n","NAO HA PESSOAS CADASTRADAS");
				}
				if(pessoas[0] != null){
					System.out.printf("\n\t\t\t\t\t%s\n","OS DADOS CADASTRADOS SAO:");
						for(int i=0; i<pessoas.length; i++){
							if(pessoas[i] != null){
								System.out.printf(Banco.pessoas[i].toString());

							}
						}
				}

Queria saber se o erro está no codigo acima, ou em outra classe???
Agradeço desde já.

2 Respostas

claudneto

Tenta colocar

if(pessoas[0].getNome() == null && pessoas[0].getMarca() == null...){  //Pra todos os atributos do Carro
    System.out.printf("\n\n\t\t\t\t%s\n\n","NAO HA PESSOAS CADASTRADAS");  
}  
else {
    System.out.printf("\n\t\t\t\t\t%s\n","OS DADOS CADASTRADOS SAO:");  
        for(int i=0; i<pessoas.length; i++){  
            if(pessoas[i] != null){  
                System.out.printf(Banco.pessoas[i].toString());  
  
            }  
        }  
}

Talvez dê certo...

tiaguitoenes

:wink: obrigado pela ajuda cara, deu certo; :smiley:

Criado 8 de outubro de 2008
Ultima resposta 3 de nov. de 2008
Respostas 2
Participantes 2