Array unidimensional

2 respostas
LPJava

ae galera to lendo deitel sexta edição, e to no cap7 array , to com um tremendo nó, em usar array... qdo ele possui apenas uma linha tudo bem qdo vira a matriz ja viu ne..
achei meio complicado e tem uma questao dele que pede para fazer um sistema de venda... como abaixo... eu fiz porem.. nao queria tudo em tabela tipo 6x5 mas n consigo.. ae d}e uma olhada na sintaxe..nao quero q ninguem resolva sacow..mas que me ajude com array e tal..quem tiver exemplos de array em formato de tabela4x5 por exemplo vlw!!

/*********************************************************************************************
programa de varejo construindo com array, o us escolhe o vendedor e realiza a compra, no final,
o programa informa o total de produtos vendidos no dia de acordo com as vendas de cada vendedor.
by Camilo Lopes
***********************************************************************************************/

import java.util.Scanner;

public class Varejo
{
		//declaracao dos array
	Scanner input = new Scanner(System.in);
		
		String vendedor[] = new String[5];
		
		int codvendedor[] = new int[5];
		
		String produtos[][]= new String[6][0];
		
		int totalprod[] = new int[6];
		//declaracao dos produtos
	private String nome1 = "Cama",nome2 ="sofa", nome3="Mesa", nome4="Treliche";	
	public void vendedor()
	{
			//vendedores disponivel para vender
		Scanner dados = new Scanner(System.in);
	int arraytotal[] = new int[6];
			
			System.out.println("Deseja ser atentido por quem: 1 - Alex, 2 - Carlos, - 3 Roberto, 4 - Roberto");
				int vend = dados.nextInt();

	if(vend == 1)
	{
		alex();//chama o metodo 
	}
	else
	if(vend == 2)
	{
		carlos();
	}
	else
	if(vend == 3)
	{
		roberto();
	}
	else
	if(vend == 4)
	{
		marcos();
	}
	else
	{
	System.out.println("Vendedor nao faz parte da corporação");
	}

	}
	
	public void imprime()
	{
			//imprime na tela os produtos disponivel para venda
		
	System.out.printf("Cod.0 - %s\nCod.1 %s\nCod.2 %s\nCod.3 %s\n",nome1, nome2, nome3, nome4);	
			}
	public void alex()
	{
			//metodo do vendedor q realiza a  venda e acrescenta para o mesmo
		int total=0;
		int arrayalex[] = new int[6];	
	
			System.out.println("Veja abaixo a lista de produtos disponivel para compra");
			
			imprime();		
			System.out.println("Informe o codigo do produto:");
			int n = input.nextInt();
		
			while(n > 4)
			{
			System.out.println("Produto invalido");
			
			System.out.println("Informe o codigo do produto:");
			 n = input.nextInt();
			}	
		switch (n)
		{
		case 0:
		produt(0);
		break;
		case 1:
		produt(1);
		break;
		case 2:
		produt(2);
		break;
		case 3:
		produt(3);
		break;
		case 4:
		produt(4);
		break;
		default:
		
		}
	
		 total += totalprod[n];		
		 		
	System.out.printf("O total de produtos vendidos pelo vendedor foi %d", total);
		
		}

		public void resumo()
		{
			//aqui mostra o total de vendas do dia reunido todas as vendas de cada vendedor
		int a=0;
		for(int c = 0; c < totalprod.length; c++)
		{
			a += totalprod[c];
		}
		System.out.printf("Total de Vendas do dia %d produtos\n",a);
		
		}
	
		public void produt(int a)
		{
				//esse metodo faz o seguinte ele pega a quantidade que o cliente deseja comprar e coloca o valor de acordo com o vendedor escolhido
			int qtde;
		switch (a)
		{
		case 0:
			System.out.println("Informe a quantidade q deseja comprar:");
				 qtde = input.nextInt();
			totalprod[0] += (qtde + 0);
		break;
		case 1: 
		System.out.println("Informe a quantidade q deseja comprar:");
				 qtde = input.nextInt();
			totalprod[1] += (qtde + 0);
		break;
		
		case 2:
		System.out.println("Informe a quantidade q deseja comprar:");
				 qtde = input.nextInt();
			totalprod[2] += (qtde + 0);
		break;
		
		case 3:
		System.out.println("Informe a quantidade q deseja comprar:");
				 qtde = input.nextInt();
			totalprod[3] += (qtde + 0);
		break;
		
		case 4:
		System.out.println("Informe a quantidade q deseja comprar:");
				 qtde = input.nextInt();
			totalprod[4] += (qtde + 0);
		break;
		}
	}


		public void roberto()
		{	
		int total=0;
	
			System.out.println("Veja abaixo a lista de produtos disponivel para compra");

			imprime();			
			
		

		System.out.println("Informe o codigo do produto:");
			int n = input.nextInt();
			while(n > 4)
			{
			System.out.println("Produto invalido");
			
			System.out.println("Informe o codigo do produto:");
			 n = input.nextInt();
			}
		switch (n)
		{
		case 0:
		produt(0);
		break;
		case 1:
		produt(1);
		break;
		case 2:
		produt(2);
		break;
		case 3:
		produt(3);
		break;
		case 4:
		produt(4);
		break;
		default:
		
		}

				
		 total += totalprod[n];
		
	System.out.printf("O total de produtos vendidos pelo vendedor foi %d", total);
		
		}	
		


		public void marcos()
		{	
		int total=0;
	
			System.out.println("Veja abaixo a lista de produtos disponivel para compra");
			
			imprime();
		

		System.out.println("Informe o codigo do produto:");
			int n = input.nextInt();
		while(n > 4)
			{
			System.out.println("Produto invalido");
			
			System.out.println("Informe o codigo do produto:");
			 n = input.nextInt();
			}
		switch (n)
		{
		case 0:
		produt(0);
		break;
		case 1:
		produt(1);
		break;
		case 2:
		produt(2);
		break;
		case 3:
		produt(3);
		break;
		case 4:
		produt(4);
		break;
		default:
		
		}

				
		 total += totalprod[n];
		
	System.out.printf("O total de produtos vendidos pelo vendedor foi %d", total);
		
		}

		

		public void carlos()
		{	
		int total=0;
	
			System.out.println("Veja abaixo a lista de produtos disponivel para compra");
			
			imprime();
		
		System.out.println("Informe o codigo do produto:");
			int n = input.nextInt();
		while(n > 4)
			{
			System.out.println("Produto invalido");
			
			System.out.println("Informe o codigo do produto:");
			 n = input.nextInt();
			}

		switch (n)
		{
		case 0:
		produt(0);
		break;
		case 1:
		produt(1);
		break;
		case 2:
		produt(2);
		break;
		case 3:
		produt(3);
		break;
		case 4:
		produt(4);
		break;
		default:
		
		}

				
		 total += totalprod[n];
		
	System.out.printf("O total de produtos vendidos pelo vendedor foi %d", total);
		
		}
}

/*******************************************************************************
Bom, sei que eh possivel fazer ele, com um numero menor de linhas pore, fiz nessa,
estrutura pelo seguinte, pretendo colocar comissao para cada vendedor  de acordo,
com os produtos vendidos e depois o faturamento da loja. e dai tirar um tiket medio,
cada dividir entre todos os vendedores. mas antes de fazer isso queria colocar
esse programa em tabela pois nao conseguir devido ainda ser algo obscuro array[][].
to lendo deitel mas ele n foi muito claro nesse ponto.
*********************************************************************************/

classe prinicpal
[code]
import java.util.Scanner;
public class Varejotest
{
public static void main(String args[])
{
Varejo cliente = new Varejo();
System.out.println("Para comprar 1, Para sair 0");

Scanner dados = new Scanner(System.in);

int a = dados.nextInt();
if (a == 1)
{
while (a == 1)
{
cliente.vendedor();
System.out.println("\nPara continuar comprando 1, Para sair 0");
a = dados.nextInt();
}
}
cliente.resumo();
System.out.printf("PRograma encerrado\nBy Seach Certified Camilo Lopes");
}
}
[code]

Coloquei nos comentarios explicando como funciona o programa!!

2 Respostas

akumaldo

Que tal orientar a objeto??ficou bastante estrutural percebe?

Mantu

Sobre arrays bidimensionais, vamos tentar entender o seguinte: Um array que tenha aquela desgraça do “[][]” nada mais é que um array de arrays.
Um array unidimensional é uma coisa simples. Quando, por exemplo, vc declara um array de inteiros de 5 posições, vc terá em memória um espaço reservado para acomodar, contigüamente, 5 int’s:

Quando vc declara um array bidimensional de int 5x3, por exemplo, vc vai ter em memória um espaço reservado para guardar, contigüamente, 5 int[]'s:


Dá pra falar mais sobre o assunto, mas vou deixar vc ler isso e pensar em mais dúvidas, ok? Daí vc posta mais aqui, blz! :thumbup:

Criado 20 de julho de 2006
Ultima resposta 20 de jul. de 2006
Respostas 2
Participantes 3