Matriz em JAVA e erro de validação.
29/09/2016
0
1) validar os campos nome do usuário e nome do produto para não aceitar digitação em branco.
2) Fazer a Parte de Vendas
Preciso criar um vetor/matriz de 300 posições e guardar os seguintes dados:
a) Nome do Produto (buscar dos ja cadastrados)
b) Nome do Comprador (pedir para o usuario digitar)
c) Quantidade do produto (pedir para o usuário digitar)
d) Valor total da compra (pedir para o usuário digitar)
3) Elaborar os relatórios
Preciso de um relatório de vendas, onde venha uma listagem de produtos vendidos, e o total vendido na empresa.
alguém pode me ajudar? travei nessas 3 etapas.
Abaixo o meu código:
package fumec.br; import java.util.*; public class desafio1EmpresaJR { public static void main(String[] args) { // Dados fixos para fins de relatório String nomeEmpresa = "MC Soluções LTDA"; String tipoAtividade = "Serviços de TI em geral"; int cnpjEmpresa = 123456789; String enderecoEmpresa = "Rua coisa e tal, 123, Savassi, Belo Horizonte / MG"; String nomeSocio1 = "Cristiano Soares da Costa"; String nomeSocio2 = "Marcelo Assis Woitowicz"; // inicio do Scanner Scanner leia = new Scanner(System.in); // Variáveis do Sistema // int usuariosCadastrados = 0; // int produtosCadastrados = 0; String[][] usuario = new String[3][2]; String[][] produto = new String[3][2]; String[][] venda = new String[300][4]; int contadorVenda = 0; int opcao = 0; do { do { System.out.println("Escolha uma opção a seguir:"); System.out.println("1 - Cadastros"); System.out.println("2 - Listagem"); System.out.println("3 - Vendas"); System.out.println("4 - Relatórios"); System.out.println("Ou digite '0' para encerrar o programa"); System.out.print("Opção: "); try { String opcaoStr = leia.nextLine(); opcao = Integer.parseInt(opcaoStr); if (opcao < 0) { System.out.println("O número deve ser positivo!"); continue; } break; } catch (NumberFormatException E) { System.out.println("ERRO: Esse campo aceita apenas números!"); continue; } } while (true); switch (opcao) { case 1: do { do { System.out.println("Menu [CADASTRO]:"); System.out.println("Escolha uma das opções a seguir:"); System.out.println("5 - Cadastro de Usuários"); System.out.println("6 - Cadastro de Produtos"); System.out.println("Ou digite '99' para retornar ao menu anterior"); System.out.print("Opção: "); String opcaoStr = leia.nextLine(); try { opcao = Integer.parseInt(opcaoStr); if (opcao < 0) { System.out.println("O número deve ser positivo!"); continue; } break; } catch (NumberFormatException E) { System.out.println("ERRO: Esse campo aceita apenas números!"); continue; } } while (true); switch (opcao) { case 5: for (int i = 0; i < usuario.length; i++) { do { System.out.println("Menu [CADASTRO > Usuários]:"); System.out.print("Digite o Código do Usuário:"); String opcaoStr = leia.nextLine(); usuario[i][0] = opcaoStr; try { opcao = Integer.parseInt(opcaoStr); if (opcao < 0) { System.out.println("O código deve ser positivo!"); continue; } if (opcao == 0 || opcao == 99 || opcao == 999 || opcao == 9999){ System.out.println("------------------------------------------"); System.out.println(" A T E N Ç Ã O "); System.out.println("\\nCódigos Proibidos '0', '99', '999', '9999'."); System.out.println("------------------------------------------"); continue; } break; } catch (NumberFormatException E) { System.out.println("ERRO: Esse campo aceita apenas números!"); continue; } } while (true); System.out.print("Digite o Nome do Usuário:"); usuario[i][1] = leia.nextLine(); } break; case 6: for (int i = 0; i < produto.length; i++) { do { System.out.println("Menu [CADASTRO > Produtos]:"); System.out.print("Digite o Código do Produto:"); String opcaoStr = leia.nextLine(); produto[i][0] = opcaoStr; try { opcao = Integer.parseInt(opcaoStr); if (opcao < 0) { System.out.println("O código deve ser positivo!"); continue; } if (opcao == 0 || opcao == 99 || opcao == 999 || opcao == 9999){ System.out.println("------------------------------------------"); System.out.println(" A T E N Ç Ã O "); System.out.println("\\nCódigos Proibidos '0', '99', '999', '9999'."); System.out.println("------------------------------------------"); continue; } break; } catch (NumberFormatException E) { System.out.println("ERRO: Esse campo aceita apenas números!"); continue; } } while (true); System.out.print("Digite a descrição do Produto:"); produto[i][1] = leia.nextLine(); } break; case 99: break; default: System.out.println("Opção Inválida."); break; } } while (opcao != 99); continue; case 2: do { do { System.out.println("Menu [LISTAGENS]:"); System.out.println("Escolha uma das opções a seguir:"); System.out.println("7 - Listagem de Usuários Cadastrados"); System.out.println("8 - Listagem de Produtos Cadastrados"); System.out.println("Ou digite '99' para retornar ao menu anterior"); System.out.print("Opção: "); String opcaoStr = leia.nextLine(); try { opcao = Integer.parseInt(opcaoStr); if (opcao < 0) { System.out.println("O número deve ser positivo!"); continue; } break; } catch (NumberFormatException E) { System.out.println("ERRO: Esse campo aceita apenas números!"); continue; } } while (true); switch (opcao) { case 7: System.out.println("------------------------------------"); System.out.println("Usuários Cadastrados:"); for (int i = 0; i < usuario.length; i++) System.out.println("Código do Usuário: " + usuario[i][0] + " - Nome do Usuário: " + usuario[i][1]); System.out.println("------------------------------------"); break; case 8: System.out.println("------------------------------------"); System.out.println("Produtos Cadastrados:"); for (int i = 0; i < produto.length; i++) System.out.println("Código do Produto: " + produto[i][0] + " - Descrição do Produto: " + produto[i][1]); System.out.println("------------------------------------"); break; case 99: break; default: System.out.println("Opção Inválida."); break; } } while (opcao != 99); case 3: int opcaoCodigo; do { do { System.out.println("Menu [VENDAS]:"); System.out.println("Digite abaixo os dados para efetivara venda:"); System.out.println("Para sair digite '999'."); System.out.println("Qual o código do Produto? (Digite 555 para listar os produtos)"); System.out.print("Opção: "); try { String opcaoStr = leia.nextLine(); opcaoCodigo = Integer.parseInt(opcaoStr); if (opcaoCodigo < 0) { System.out.println("O número deve ser positivo!"); continue; } break; } catch (NumberFormatException E) { System.out.println("ERRO: Esse campo aceita apenas números!"); continue; } } while (true); if (opcaoCodigo == 555){ System.out.println("------------------------------------"); System.out.println("Produtos Cadastrados:"); for (int i = 0; i < produto.length; i++) System.out.println("Código do Produto: " + produto[i][0] + " - Descrição do Produto: " + produto[i][1]); System.out.println("------------------------------------"); continue; } } while (opcaoCodigo != 999); break; } } while (opcao != 0); System.out.println("Programa Finalizado!"); leia.close(); } }
Cristiano Costa
Posts
29/09/2016
Cristiano Costa
package fumec.br; import java.util.*; public class desafio1EmpresaJR { public static void main(String[] args) { // Dados fixos para fins de relatório String nomeEmpresa = "MC Soluções LTDA"; String tipoAtividade = "Serviços de TI em geral"; int cnpjEmpresa = 123456789; String enderecoEmpresa = "Rua coisa e tal, 123, Savassi, Belo Horizonte / MG"; String nomeSocio1 = "Cristiano Soares da Costa"; String nomeSocio2 = "Marcelo Assis Woitowicz"; // inicio do Scanner Scanner leia = new Scanner(System.in); // Variáveis do Sistema // int usuariosCadastrados = 0; // int produtosCadastrados = 0; String[][] usuario = new String[3][2]; String[][] produto = new String[3][2]; String[][] venda = new String[300][4]; int contadorVenda = 0; int opcao = 0; do { do { System.out.println("Escolha uma opção a seguir:"); System.out.println("1 - Cadastros"); System.out.println("2 - Listagem"); System.out.println("3 - Vendas"); System.out.println("4 - Relatórios"); System.out.println("Ou digite '0' para encerrar o programa"); System.out.print("Opção: "); try { String opcaoStr = leia.nextLine(); opcao = Integer.parseInt(opcaoStr); if (opcao < 0) { System.out.println("O número deve ser positivo!"); continue; } break; } catch (NumberFormatException E) { System.out.println("ERRO: Esse campo aceita apenas números!"); continue; } } while (true); switch (opcao) { case 1: do { do { System.out.println("Menu [CADASTRO]:"); System.out.println("Escolha uma das opções a seguir:"); System.out.println("5 - Cadastro de Usuários"); System.out.println("6 - Cadastro de Produtos"); System.out.println("Ou digite '99' para retornar ao menu anterior"); System.out.print("Opção: "); String opcaoStr = leia.nextLine(); try { opcao = Integer.parseInt(opcaoStr); if (opcao < 0) { System.out.println("O número deve ser positivo!"); continue; } break; } catch (NumberFormatException E) { System.out.println("ERRO: Esse campo aceita apenas números!"); continue; } } while (true); switch (opcao) { case 5: for (int i = 0; i < usuario.length; i++) { do { System.out.println("Menu [CADASTRO > Usuários]:"); System.out.print("Digite o Código do Usuário:"); String opcaoStr = leia.nextLine(); usuario[i][0] = opcaoStr; try { opcao = Integer.parseInt(opcaoStr); if (opcao < 0) { System.out.println("O código deve ser positivo!"); continue; } if (opcao == 0 || opcao == 99 || opcao == 999 || opcao == 9999){ System.out.println("------------------------------------------"); System.out.println(" A T E N Ç Ã O "); System.out.println("\\nCódigos Proibidos '0', '99', '999', '9999'."); System.out.println("------------------------------------------"); continue; } break; } catch (NumberFormatException E) { System.out.println("ERRO: Esse campo aceita apenas números!"); continue; } } while (true); System.out.print("Digite o Nome do Usuário:"); usuario[i][1] = leia.nextLine(); } break; case 6: for (int i = 0; i < produto.length; i++) { do { System.out.println("Menu [CADASTRO > Produtos]:"); System.out.print("Digite o Código do Produto:"); String opcaoStr = leia.nextLine(); produto[i][0] = opcaoStr; try { opcao = Integer.parseInt(opcaoStr); if (opcao < 0) { System.out.println("O código deve ser positivo!"); continue; } if (opcao == 0 || opcao == 99 || opcao == 999 || opcao == 9999){ System.out.println("------------------------------------------"); System.out.println(" A T E N Ç Ã O "); System.out.println("\\nCódigos Proibidos '0', '99', '999', '9999'."); System.out.println("------------------------------------------"); continue; } break; } catch (NumberFormatException E) { System.out.println("ERRO: Esse campo aceita apenas números!"); continue; } } while (true); System.out.print("Digite a descrição do Produto:"); produto[i][1] = leia.nextLine(); } break; case 99: break; default: System.out.println("Opção Inválida."); break; } } while (opcao != 99); continue; case 2: do { do { System.out.println("Menu [LISTAGENS]:"); System.out.println("Escolha uma das opções a seguir:"); System.out.println("7 - Listagem de Usuários Cadastrados"); System.out.println("8 - Listagem de Produtos Cadastrados"); System.out.println("Ou digite '99' para retornar ao menu anterior"); System.out.print("Opção: "); String opcaoStr = leia.nextLine(); try { opcao = Integer.parseInt(opcaoStr); if (opcao < 0) { System.out.println("O número deve ser positivo!"); continue; } break; } catch (NumberFormatException E) { System.out.println("ERRO: Esse campo aceita apenas números!"); continue; } } while (true); switch (opcao) { case 7: System.out.println("------------------------------------"); System.out.println("Usuários Cadastrados:"); for (int i = 0; i < usuario.length; i++) System.out.println("Código do Usuário: " + usuario[i][0] + " - Nome do Usuário: " + usuario[i][1]); System.out.println("------------------------------------"); break; case 8: System.out.println("------------------------------------"); System.out.println("Produtos Cadastrados:"); for (int i = 0; i < produto.length; i++) System.out.println("Código do Produto: " + produto[i][0] + " - Descrição do Produto: " + produto[i][1]); System.out.println("------------------------------------"); break; case 99: break; default: System.out.println("Opção Inválida."); break; } } while (opcao != 99); case 3: int opcaoCodigo; do { do { System.out.println("Menu [VENDAS]:"); System.out.println("Digite abaixo os dados para efetivara venda:"); System.out.println("Para sair digite '999'."); System.out.println("Qual o código do Produto? (Digite 555 para listar os produtos)"); System.out.print("Opção: "); try { String opcaoStr = leia.nextLine(); opcaoCodigo = Integer.parseInt(opcaoStr); if (opcaoCodigo < 0) { System.out.println("O número deve ser positivo!"); continue; } break; } catch (NumberFormatException E) { System.out.println("ERRO: Esse campo aceita apenas números!"); continue; } } while (true); if (opcaoCodigo == 555){ System.out.println("------------------------------------"); System.out.println("Produtos Cadastrados:"); for (int i = 0; i < produto.length; i++) System.out.println("Código do Produto: " + produto[i][0] + " - Descrição do Produto: " + produto[i][1]); System.out.println("------------------------------------"); continue; } } while (opcaoCodigo != 999); break; } } while (opcao != 0); System.out.println("Programa Finalizado!"); leia.close(); } }
30/09/2016
Julio Sampaio
O código que você disse que é o correto não está completo. É melhor você subir em algum repositório (DropBox, GoogleDrive, Github, etc) e colar o link aqui, para que possamos baixar e te ajudar.
Abraço!
03/10/2016
Cristiano Costa
subi o código para:
[url:descricao=Meu código]https://github.com/crisoares/fumec[/url]
Clique aqui para fazer login e interagir na Comunidade :)