Ir para conteúdo
Fórum Script Brasil
  • 0

Ajuda Em Calculadora


Jigsaw

Pergunta

17 respostass a esta questão

Posts Recomendados

  • 0
eu já fiz uma calc, rapaz, ela abre um form pro usuario digitar a equaçao, analiza ela e manda o result em outro form... se quiser uma ajuda... ela está meio coisa de iniciane cheia de gambiarra, mas é só pedir que eu vejo o que eu posso fazer...

sera que voce poderia postar o codigo da calc nichows?

Link para o comentário
Compartilhar em outros sites

  • 0

 import javax.swing.*;
class X
{
    public static void main(String args[])
    {
        String val=JOptionPane.showInputDialog(null,"digite uma equação aritmética básica");
        
        //-------------------------------------------------------------------------------
        
        int length=val.length();
        String digitos="01234565789+-*/";
        int x=0;
        String caso=val.substring(x,x+1);
        while(x!=length)
        {
            
            caso=val.substring(x,x+1);
            
            if(digitos.indexOf(caso)!=-1)
            {
                x++;
            }
            
            else
            {
                JOptionPane.showMessageDialog(null,"Mas você é muito tapado mesmo, não é?!! Você digitou uma letra!! Imbecil...");
                System.exit(0);
            }
        }
        
        //-------------------------------------------------------------------------------
        
        String var="";
        int pos=0;
        String se1=val.substring(pos,pos+1);
        String numeros = "0123456789";
        while(numeros.indexOf (se1) != -1)
        {
            var=var+val.substring(pos,pos+1);
            pos++;
            se1=val.substring(pos,pos+1);
        }
        double n1=Double.parseDouble(var);
        
        //-------------------------------------------------------------------------------
        
        String operad[]=new String[length];
        int a=0;
        
        //-------------------------------------------------------------------------------
        
        operad[a]=val.substring(pos,pos+1);
        pos++;
        
        //-------------------------------------------------------------------------------
        
        String varial[]=new String[length];
        double numero[]=new double[length];
        
        
        
        while(pos+1<=val.length())
        {
            varial[a]="";
            se1="";
            while(numeros.indexOf (se1) != -1)
            {
                varial[a]+=val.substring(pos,pos+1);
                if(pos+1<val.length())
                {
                    pos++;
                    se1=val.substring(pos,pos+1);
                }
                
                else
                {
                    break;
                }
            }
            numero[a]=Double.parseDouble(varial[a]);
            a++;
            
            //-------------------------------------------------------------------------------
            
            if(pos+1<val.length())
            {
                operad[a]=val.substring(pos,pos+1);
                pos++;
            }
            
            else
            {
                break;
            }
        }
        
        //------------------------------------------------------------------------------------
        int c=a;
        int d=0;
        int b=1;
        while(b<=c)
            {
                if (operad[d].equals("/"))
                {
                    n1=n1/numero[d];
                }

                else if (operad[d].equals("*"))
                {
                    n1=n1*numero[d];
                }

                else if (operad[d].equals("-"))
                {
                    n1=n1-numero[d];
                }

                else if (operad[d].equals("+"))
                {
                    n1=n1+numero[d];
                }

                else
                {
                    break;
                }
                b++;
                d++;
            }
            
            JOptionPane.showMessageDialog(null,"O resultado de sua equação é: "+n1);
        
        
    }
}

está aí.. se você entender alguma coisa..

se quiser me add no MSN aí que eu explico...(nicholas_vni@hotmail.com) eu to on ateh as 22:00

flow..

Link para o comentário
Compartilhar em outros sites

  • 0

olha dá pra melhorar sim...

tente usar o comando trim porque quando voce tenta dizitar uma funçao para calcular, o programa te chinga devido o uso de espaço no qual ele alega ser uma letra...

...então voce poderia colocar uma funçao trim que tiraria os espaços de uma equaçao digitada...

Entendeu?

Link para o comentário
Compartilhar em outros sites

  • 0

olha Dracom eu não entendi a sua sugestao e também não sei pra que serve nem como usar esse comando trim..:blink:

teria como você me explicar??

vlw cara.. :)

è isso ai isoron ;)

ahn.. e como eu uso esse "trim"?

trim(<o local de trim>);

bem a tempo não uso isso mas acho que é isso aew...

mas acho que o isorom saberia mais do assunto...

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...