Ajuda sistema de notas

0 respostas
java
E

Seguinte galera, desenvolvi um sistema de geração de notas/pedidos, onde é possivel cadastrar novos clientes e gerar a nota a partir das informações do cliente já cadastrado, deixando assim salvo no sistema, meu problema é que na hora de usar as informações de um determinado cliente, os dados a serem puxados sempre serão os do primeiro cliente cadastrado, não importa quantos clientes constem, gostaria de saber se alguém tem uma possível solução, desde já agradeço.

segue o código abaixo:

package sistemadenotas;

import java.util.ArrayList;
import java.util.InputMismatchException;
import java.util.Scanner;

public class SistemadeNotas {

    public static void main(String[] args) {

        int numero;

        System.out.println("SISTEMA DE NOTAS");

        System.out.println("1 - Criar um novo cadastro de clientes\n"
                + "2 - Criar uma nova nota\n"
                + "3 - Procurar clientes\n"
                + "4 - Sair");

        System.out.println("Digite um número correspondente para continuar:");

        ArrayList<String> cadastro = new ArrayList<>();
        do {

            numero = new Scanner(System.in).nextInt();
            switch (numero) {
                case 1:
                    // CRIAR UM NOVO CADASTRO DE CLIENTE

                    System.out.println("CADASTRO DE UM NOVO CLIENTE");

                    System.out.println("Pessoa Física ou Jurídica:");
                    cadastro.add(new Scanner(System.in).nextLine());

                    System.out.println("Nome:");
                    cadastro.add(new Scanner(System.in).nextLine());

                    System.out.println("Endereço:");
                    cadastro.add(new Scanner(System.in).nextLine());

                    System.out.println("Bairro:");
                    cadastro.add(new Scanner(System.in).nextLine());

                    System.out.println("Estado:");
                    cadastro.add(new Scanner(System.in).nextLine());

                    System.out.println("Município:");
                    cadastro.add(new Scanner(System.in).nextLine());

                    System.out.println("País:");
                    cadastro.add(new Scanner(System.in).nextLine());

                    System.out.println("Número de celular:");
                    cadastro.add(new Scanner(System.in).nextLine());

                    System.out.println("Número de Telefone:");
                    cadastro.add(new Scanner(System.in).nextLine());

                    System.out.println("Email:");
                    cadastro.add(new Scanner(System.in).nextLine());

                    System.out.println("CNPJ/CPF:");
                    cadastro.add(new Scanner(System.in).nextLine());

                    System.out.println("Data de Nascimento:");
                    cadastro.add(new Scanner(System.in).nextLine());

                    System.out.println("CADASTRO FINALIZADO COM SUCESSO!");

                    System.out.println("Informe seu proximo número: ");
                    break;
                case 2:
                    // CRIAR UMA NOVA NOTA PARA UM CLIENTE
                    try {
                        System.out.println("CRIAÇÃO DE UMA NOVA NOTA PARA UM CLIENTE");

                        System.out.println("Nome:");
                        String nome = new Scanner(System.in).nextLine();

                        System.out.println("Pessoa: " + cadastro.get(0));

                        System.out.println("Endereço: " + cadastro.get(2));

                        System.out.println("Bairro: " + cadastro.get(3));

                        System.out.println("Estado: " + cadastro.get(4));

                        System.out.println("Município: " + cadastro.get(5));

                        System.out.println("País: " + cadastro.get(6));

                        System.out.println("Número de celular: " + cadastro.get(7));

                        System.out.println("Número de Telefone: " + cadastro.get(8));

                        System.out.println("Email: " + cadastro.get(9));

                        System.out.println("CNPJ/CPF: " + cadastro.get(10));

                        System.out.println("Data de Nascimento: " + cadastro.get(11));
                        //} catch (IndexOutOfBoundsException erro) {
                        //   System.out.println("Você primeiro precisa criar um cadastro de cliente para gerar uma nota: erro " + erro);

                        System.out.println("Informe a peça utilizada para o serviço:");
                        String peca = new Scanner(System.in).nextLine();

                        System.out.println("Informe o preço da peça utilizada para o serviço:");
                        double precoPeca = new Scanner(System.in).nextDouble();

                        System.out.println("Informe o serviço feito para o cliente:");
                        String servico = new Scanner(System.in).nextLine();

                        System.out.println("Informe o preço do serviço feito para o cliente:");
                        double servicoPreco = new Scanner(System.in).nextDouble();

                        double precoTotal = (precoPeca + servicoPreco);
                        System.out.println("Total: " + precoTotal);

                        System.out.println("Assinatura da empresa:");
                        String assinaturaEmpresa = new Scanner(System.in).nextLine();

                        System.out.println("Assinatura do cliente");
                        String assinaturaCliente = new Scanner(System.in).nextLine();

                        System.out.println("NOTA FINALIZADA COM SUCESSO!");

                        System.out.println("Informe seu proximo número: ");

                    } catch (IndexOutOfBoundsException erro) {
                        System.out.println("Você primeiro precisa criar um cadastro de cliente para gerar uma nota: erro " + erro);
                        System.out.println("Informe um número de 1 a 4:");

                    } catch (InputMismatchException erro) {
                        System.out.println("Esse texto não pode ser impresso nesta coluna: " + erro);
                    }
                    break;
                case 3:
                    // PROCURAR CLIENTES CADASTRADOS
                    System.out.println("PROCURAR CLIENTES CADASTRADOS");

                    System.out.println(cadastro.toString());
                    break;
                case 4:
                    System.out.println("Finalizando sistema...");
                    break;
                default:
                    System.out.println("Esse número não é valido, por favor digite novamente um número entre 1 e 4");
                    break;
            }
        } while (numero != 4);

    }

}
Criado 14 de dezembro de 2018
Respostas 0
Participantes 1