Ajuda cadastro em vetor

Boa tarde.
Estou iniciando o aprendizado em POO - java e gostaria que alguém me ajudasse a fazer este cadastro no vetor funcionar, ele cadastra sempre o último valor digitado em meu vetor (sobrepondo na mesma posição).

[code]public static void main(String args [])
{ int i = 1;
String venda= null, venda2 = null;

	VendaProcessador vendproc [] = new VendaProcessador [10];
	venda = JOptionPane.showInputDialog (" CONTROLE DE VENDAS DE PROCESSADORES\n" +
			"\n1 -> Registro de Venda " +
			"\n2 -> Informações Gerenciais " +
			"\n9 -> Sair\n\n");

	while (Integer.parseInt(venda) != 9)
	{	
		switch(Integer.parseInt(venda))
		{
			case 1:
					String Sair = "S";
					JOptionPane.showMessageDialog(null,"Gravar na posição: "+String.valueOf(i));
					while (Sair.equals("S"))
					{
						vendproc[i] = new VendaProcessador();
						vendproc[i].VendProces();
						i++;							
						Sair = JOptionPane.showInputDialog("Deseja continuar a cadastrar (S/N)?");
				  		

					}	
			break;[/code]

Repare que você não altera o valor de “venda” após entrar nos laços, ela sempre terá o valor inicial :-o

Amigo, usa o for para prencer o vetor, e o i nao pode ser iniciado com um pq a primeira posiçao do vetor é 0

ta ai o exempo com o seu codigo…

Abraços

[code]public static void main(String args [])
{ int i;
String venda= null, venda2 = null;

     VendaProcessador vendproc [] = new VendaProcessador [10];  
     venda = JOptionPane.showInputDialog (" CONTROLE DE VENDAS DE PROCESSADORES\n" +  
             "\n1 -> Registro de Venda " +  
             "\n2 -> Informações Gerenciais " +  
             "\n9 -> Sair\n\n");  

     while (Integer.parseInt(venda) != 9)  
     {     
         switch(Integer.parseInt(venda))  
         {  
             case 1:  
                     String Sair = "S";  
                     JOptionPane.showMessageDialog(null,"Gravar na posição: "+String.valueOf(i+1));  // i + 1 pq  sera 0 + 1 = 1
                     while (Sair.equals("S"))  
                     {  
                         for (i = 0; i<10; i++) { // i  = 0 pq o 1º indice do vetor é 0
                             vendproc[i] = new VendaProcessador();  
                             vendproc[i].VendProces();  
                            }
                         Sair = JOptionPane.showInputDialog("Deseja continuar a cadastrar (S/N)?");  
                     }     
             break;

[/code]

Amigo MarckW. Estou tentando fazer este programa com WelingtonMoraes. Somos da mesma turma. Eu testei a solucção que vc mandou e ao testar para cadastrar entrou num loop e não sai.

Posta o código todo. O que o método VendProces faz?

package processadores;
import javax.swing.JOptionPane;

public class RegistroVenda
{
//método para efetuar busca sequencial
static int sequencial(VendaProcessador func [], int tam, String SerieBusca)
{
int j = 0, x = 11;
while (j < tam)
{

	   if(func[j].getSerie().equals(SerieBusca))

// if(VendaProcessador.getSerie().equals(SerieBusca))
x = j;
j++;
}
return x;
}
public static void main(String args [])
{ int i = 0;

	VendaProcessador vendproc [] = new VendaProcessador [300];
	
	String venda, venda2;
	
	
	venda = JOptionPane.showInputDialog (" CONTROLE DE VENDAS DE PROCESSADORES \n" +
			"\n1 -> Registro de Venda " +
			"\n2 -> Informações Gerenciais " +
			"\n9 -> Sair\n\n");
	
	
	

	while (Integer.parseInt(venda) != 9)
	{	
		switch(Integer.parseInt(venda))
		{
			case 1:
		//			String Sair = "S";
		//			while (Sair.equals("S"))
		//			{
						vendproc[i] = new VendaProcessador();
						vendproc[i].VendProces();
						i++;
				//  		Sair = JOptionPane.showInputDialog("Deseja continuar a cadastrar (S/N)?");

			//		}
					  
					
			break;
			
			case 2:
				venda2 = JOptionPane.showInputDialog ("digite o Número de Serie: ");
				
					if (sequencial(vendproc, i, venda2) == 11)
					JOptionPane.showMessageDialog(null,"Número Série não encontrado");
				else
					
					JOptionPane.showMessageDialog(null,	"\nNúmero de Serie:  " + String.valueOf(VendaProcessador.getSerie())+
							"\nMarca do Processador:  "+String.valueOf(VendaProcessador.getMarca())+
							"\nTamanho do Cache:  "+String.valueOf(VendaProcessador.getCache())+
							"\nData Fabricação:  "+String.valueOf(VendaProcessador.getDatafab())+
							"\nData da Venda:  "+String.valueOf(VendaProcessador.getDatvenda())+
							"\nValor de Custo:  "+String.valueOf(VendaProcessador.getValcusto())+
							"\nValor de Venda:  "+String.valueOf(VendaProcessador.getValvenda()));
					
					
				break;
				default:
					{
						JOptionPane.showMessageDialog(null,"Digite uma a Opção Correta!");
					}
			}				
		
		venda = JOptionPane.showInputDialog (" CONTROLE DE VENDAS DE PROCESSADORES \n" +
				"\n1 -> Registro de Venda " +
				"\n2 -> Informações Gerenciais " +
				"\n9 -> Sair\n\n");
	}
}

}

package processadores;

import javax.swing.JOptionPane;

public class VendaProcessador extends GetSet
{
public void VendProces()
{
String venda = JOptionPane.showInputDialog ("Digite o Número de Série: ");
GetSet.setSerie(venda);
if (GetSet.getSerie().length() == 0)
{
JOptionPane.showMessageDialog (null,“Campo em branco”);
return;
}

	  			venda = JOptionPane.showInputDialog(""+
	  					"\n Selecione a Marca do Processador: "+
	  					"\n\n1 - INTEL."+
					  	"\n2 - AMD.");	
					  	switch (Integer.parseInt(venda))
					  	{
					  		case 1:
					  			venda = "INTEL";
					  			break;
					  		case 2:
					  			venda = "AMD";
					  			break;
					  	}
			GetSet.setMarca(venda);
			if (GetSet.marca.length() == 0)
			{
				JOptionPane.showMessageDialog (null,"Campo em branco");
				return;
			}
	  		
	  		venda = JOptionPane.showInputDialog ("Digite a Quantidade de Cache: ");
	  		GetSet.setCache(venda);
	  		if (GetSet.cache.length() == 0)
			{
				JOptionPane.showMessageDialog (null,"Campo em branco");
				return;
			}
	  		
	  		venda = JOptionPane.showInputDialog ("Digite a Data de Fabricação: ");
	  		GetSet.setDatafab(venda);
	  		if (GetSet.datafab.length() == 0)
			{
				JOptionPane.showMessageDialog (null,"Campo em branco");
				return;
			}
	  		
	  		venda = JOptionPane.showInputDialog ("Digite a Data da Venda: ");
	  		GetSet.setDatvenda(venda);
	  		if (GetSet.datvenda.length() == 0)
			{
				JOptionPane.showMessageDialog (null,"Campo em branco");
				return;
			}
	  		
	  		venda = JOptionPane.showInputDialog ("Digite o Valor de Custo: ");
	  		GetSet.setValcusto(Double.parseDouble(venda));
	  		if (GetSet.valcusto == 0)
			{
				JOptionPane.showMessageDialog (null,"Campo em branco");
				return;
			}
	  		
	  		venda = JOptionPane.showInputDialog ("Digite o Valor de Venda: ");
	  		GetSet.setValvenda(Double.parseDouble(venda));	
	  		if (GetSet.valvenda == 0)
			{
				JOptionPane.showMessageDialog (null,"Campo em branco");
				return;
			}		  	
   }
}

package processadores;

public class GetSet
{

public static String serie;
static String marca;
static String cache;
static String datafab;
static String datvenda;
static double valcusto;
static double valvenda;
	
//construtor sem parametro
public GetSet()
{
	serie = "";
	marca = "";
	cache = "";
	datafab = "";
	datvenda = "";
	valcusto = 0.0;
	valvenda = 0.0;
}

//construtor com parametro
public GetSet(String ser, String mar, String cach, String datfab,
		String dvenda, double vcusto, double vvenda)
{
	serie = ser;
	marca = mar;
	cache = cach;
	datafab = datfab;
	datvenda = dvenda;
	valcusto = vcusto;
	valvenda = vvenda;
}

public static void setSerie(String ser)
{
	serie = ser;
}

public static String getSerie()
{
	return serie;
}

public static void setMarca(String mar)
{
	marca = mar;
}

public static String getMarca()
{
	return marca;
}

public static void setCache(String cach)
{
	cache = cach;
}

public static String getCache()
{
	return cache;
}
	
public static void setDatafab(String datfab)
{
	datafab = datfab;
}

public static String getDatafab()
{
	return datafab;
}

public static void setDatvenda(String dvenda)
{
	datvenda = dvenda;
}

public static String getDatvenda()
{
	return datvenda;
}

public static void setValcusto(double vcusto )
{
	valcusto = vcusto;
}

public static double getValcusto()
{
	return valcusto;
}

public static void setValvenda(double vvenda)
{
	valvenda = vvenda;
}

public static double getValvenda()
{
	return valvenda;
}

}


este é o trabalho que estamos fazendo

Desenvolver uma aplicação, em linguagem Java utilizando os conceitos de orientação a objetos que: registre as vendas mensais de processadores de uma empresa e permita obter informações gerenciais a partir das informações inseridas neste registro.

O menu geral da aplicação deverá ter o seguinte layout:

? Registro de Venda:

Receber as seguintes informações dos processadores: ?Número de série?, ?Marca? (Intel ou AMD), ?Quantidade de Cache?, ?Data de Fabricação? e ?Data da Venda?, ?Valor de Custo?, ?Valor de Venda?;

Incluir estrutura de repetição para que o usuário possa realizar o cadastro de várias informações de vendas de processadores. Caso o usuário deseje interromper o cadastramento, oferecer a possibilidade dentro da estrutura de repetição:
(Deseja interromper o cadastramento ? (S / N )).

? Informações Gerenciais

Emissão de relatório contendo a relação de processadores vendidos, por mês, totalizando Valor de Custo, Valor de Venda e lucro.

Utilize os conceitos de orientação a objetos.

blz… vou analisar seu codigo e te falo, é um problema simples,
certamente tem algum detalhe errado q faz com o q laço nao pare…