Java com JOptionPane (if...else)

12 respostas
P

Bom dia galera.
Estou com um trabalho da FACUL que eu preciso fazer uma venda de produtos, só que não utilizamos tela. Estamos mexendo com o JOptionPane e o VECTOR.
Existe um problema, antes de vender preciso verificar se existe o CPF do cliente cadastrado e depois disso se existe o produto que estou vendendo.
só que se o CPF não existir a venda tem que ser cancelada e não pode concluir a mesma, se o CPF existir e o Produto não (eu também não posso concluir a venda) e teria que finalizar o programa se não encontrasse nenhum desses dois dados.
Como que faço???

Se precisar posto o código-fonte

12 Respostas

Andre_Rosa

PATO_BSI:
Bom dia galera.
Estou com um trabalho da FACUL que eu preciso fazer uma venda de produtos, só que não utilizamos tela. Estamos mexendo com o JOptionPane e o VECTOR.
Existe um problema, antes de vender preciso verificar se existe o CPF do cliente cadastrado e depois disso se existe o produto que estou vendendo.
só que se o CPF não existir a venda tem que ser cancelada e não pode concluir a mesma, se o CPF existir e o Produto não (eu também não posso concluir a venda) e teria que finalizar o programa se não encontrasse nenhum desses dois dados.
Como que faço???

Se precisar posto o código-fonte

E onde fica gravado os CPFs e os produtos já cadastrados?

JoatanGuj

Andre Rosa:
PATO_BSI:
Bom dia galera.
Estou com um trabalho da FACUL que eu preciso fazer uma venda de produtos, só que não utilizamos tela. Estamos mexendo com o JOptionPane e o VECTOR.
Existe um problema, antes de vender preciso verificar se existe o CPF do cliente cadastrado e depois disso se existe o produto que estou vendendo.
só que se o CPF não existir a venda tem que ser cancelada e não pode concluir a mesma, se o CPF existir e o Produto não (eu também não posso concluir a venda) e teria que finalizar o programa se não encontrasse nenhum desses dois dados.
Como que faço???

Se precisar posto o código-fonte

E onde fica gravado os CPFs e os produtos já cadastrados?

Acredito que ele deve ter CPF’s e Produtos ja pré cadastrados no Vetor; e o programa provavelmente pode fazer alterações em tempo de execução , talvez inclusive cadastrar CPF e produto, porem como você sabe, quando ele fechar o programa seja lá oque ele cadastrou desaparece e volta tudo pro padrão, mais como é um trabalho acho que já basta. bem vou tentar fazer aqui.

JoatanGuj

Como não tenho seu codigo , só posso te dar o caminho pra você mesmo fazer. tae com isso você consegue implementar oque tu quer no teu projeto.

import javax.swing.JOptionPane;

/**
 *
 * @author JoatanGuj
 */
public class testeGUJ {
    
     static String cpf[] = {"123.123.123-123","234.234.234-234","345.345.345-345","456.456.456-456"}; //TEUS CPF's Cadastrados 
     static String produtos[] = {"notebook","caixa de som","mouse","teclado"};//Teus Produtos cadastrados
    
    public static void main(String args[]){
   
       String x =JOptionPane.showInputDialog("Digite seu CPF");
        if(retornaCPF(x) == 1){
            String y =JOptionPane.showInputDialog("Que produto deseja comprar?");
             if(retornaProduto(y) == 1){
                 JOptionPane.showMessageDialog(null, "Compra realizada com sucesso");
             }else{
            JOptionPane.showMessageDialog(null,"Produto não encontrado no sistema");
             }
        }else{
            JOptionPane.showMessageDialog(null,"CPF não encontrado no Sistema");
        }
        
    }//fim Main
    public static int retornaCPF(String x){//retorna se o cpf foi encontrado
        int existe = 0;
        for (int i = 0; i < cpf.length; i++) {
            if(cpf[i].equals(x)){
                existe =1;
            }
        }
    return existe;
    }
    public static int retornaProduto(String y){//retorna se o produto foi encontrado
         int existe = 0;
        for (int i = 0; i < produtos.length; i++) {
            if(produtos[i].equals(y)){
                existe =1;
            }
        }
    return existe;
    }
}//fim Classe
mausexdd

JoatanGuj

voce acabou de fazer o dever de casa do cara XD

JoatanGuj

mausexdd:
JoatanGuj

voce acabou de fazer o dever de casa do cara XD

\o/ rs.
mais pensando bem acredito que o dever dele é bem mais complexo que esse pobre codigo xD.
ele pode implementar o meu algoritimo no codigo dele , ai eu estaria apenas ajudando.
de qualquer forma espero que não eu não tenha feito nada de ruim LOL.

P

Obrigado JoatanGuj
Consegui fazer o trabalho mesmo sem ter visto sua resposta aqui no fórum.
Só não consegui evitar de deixar o cliente cadastrar um CPF com número negativo.
E eu não fiz os dois métodos static que você fez para procurar o CPF e o Produto.
Usei o contains para fazer a busca e já me retornar uma resposta.

Vlw cara

Tem como você dar uma explicada nessa parte de não deixar cadastrar número negativo?

mausexdd

Voce pode fazer o mesmo codigo do CPF existe e comparar se o int na posição i da string que tu digito é >=0 || .equals(-) , só que antes de trabalhar com um conversor de String para Integer .

P

mausexdd:
Voce pode fazer o mesmo codigo do CPF existe e comparar se o int na posição i da string que tu digito é >=0 || .equals(-) , só que antes de trabalhar com um conversor de String para Integer .

Correto, entendi o que tu me falou.
Só que o nosso professor sempre passa pra gente cadastrar o CPF como long.

mausexdd

Se for com Long , melhor ainda pois vc pode comparar os valores direto com >=0 sem precisar de um conversor

P

Se for com Long , melhor ainda pois vc pode comparar os valores direto com >=0 sem precisar de um conversor

Mas tem que fazer isso na aplicação né?

mausexdd

Isso … quando voce apertar salvar ou gravar lança essa exceção e manda escrever denovo…

Se for web , voce pode usar um validador em javascript , que vai validando os numeros em tempo de digitação…

mausexdd

Se for Web , Tenta ai .

<html>
<title>.:: C&oacute;digo Fonte ::.</title>
<head>
<script language="javascript">
function VerificaCPF () {
if (vercpf(document.frmcpf.cpf.value)) 
{document.frmcpf.submit();}else 
{errors="1";if (errors) alert('CPF NÃO VÁLIDO');
document.retorno = (errors == '');}}
function vercpf (cpf) 
{if (cpf.length != 11 || cpf == "[telefone removido]" || cpf == "[telefone removido]" || cpf == "[telefone removido]" || cpf == "[telefone removido]" || cpf == "[telefone removido]" || cpf == "[telefone removido]" || cpf == "[telefone removido]" || cpf == "[telefone removido]" || cpf == "[telefone removido]" || cpf == "[telefone removido]")
return false;
add = 0;
for (i=0; i < 9; i ++)
add += parseInt(cpf.charAt(i)) * (10 - i);
rev = 11 - (add % 11);
if (rev == 10 || rev == 11)
rev = 0;
if (rev != parseInt(cpf.charAt(9)))
return false;
add = 0;
for (i = 0; i < 10; i ++)
add += parseInt(cpf.charAt(i)) * (11 - i);
rev = 11 - (add % 11);
if (rev == 10 || rev == 11)
rev = 0;
if (rev != parseInt(cpf.charAt(10)))
return false;
alert('O CPF INFORMADO É VÁLIDO.');return true;}
</script>
</head>

<body>
<form name="frmcpf" method="post" action="default.html" onsubmit="VerificaCPF();">
<table width="34%" border="1" cellspacing="0" cellpadding="0" align="center" height="51">
<tr>
<td> 
<div align="center">Informe o CPF: 
<input type="text" name="cpf" size="12" maxlength="11">
<input type="button" name="Submit" value="Checar" onclick="VerificaCPF();">
</div>
</td>
</tr>
</table>
</form>
</body>
</html>
Criado 8 de setembro de 2011
Ultima resposta 25 de nov. de 2011
Respostas 12
Participantes 4