Ola a todos, estou iniciando no mundo JAVA e aprendendos aos poucos seus principios…
Querendo colocar em pratica as teorias dessa magnifica linguagem resolvi por em pratica os estudos
e tentar criar uma calculadora usando o NETBEANS. No começo não foi facil mas depois me achei com
a ajuda de alguns tutorias na internet…
Porem encontrei alguns bugs na minha calculadora quando foi realmente testa-la.
Em especial dois bugs que nao consigo resolver de jeito nenhum o primeiro: minha calculadora
calcula somente dois numeros nao consigo bolar algo que faça com que ela calcule mais de dois numeros
e segundo: ela aceita todos os valores que digito, gostaria de que seu Visor aceitasse somente valores numericos do meu teclado.
Se alguem conseguir me ajudar com esses bugs, no que creio que sejam bugs faceis de resolver para pessoas mais experientes,
ficaria muito grato para poder ir adiante com os estudos java.
T+
Cara vai ser dificil se voce nao postar o codigo. Pelo menos no caso da primeira duvida. Quanto a segunda duvida, vou SUPOR que voce usou um text field pra receber os numeros.Alias, eu to SUPONDO que voce usou interface grafica, ja que voce nao falou nada sobre isso. Enfim, com essas duas suposicoes, o que eu tenho a dizer pra resolver esse problema seria usar uma caixa de texto formatada, disponivel na propria paleta do netbeans. Agora eu volto a dizer: se voce postar o codigo fica mais facil de tentar ajudar.
No mais, bem vindo ao mundo java. =D
Eduardo_Bregaida
Alysson Zanette:
Ola a todos, estou iniciando no mundo JAVA e aprendendos aos poucos seus principios…
Querendo colocar em pratica as teorias dessa magnifica linguagem resolvi por em pratica os estudos
e tentar criar uma calculadora usando o NETBEANS. No começo não foi facil mas depois me achei com
a ajuda de alguns tutorias na internet…
Porem encontrei alguns bugs na minha calculadora quando foi realmente testa-la.
Em especial dois bugs que nao consigo resolver de jeito nenhum o primeiro: minha calculadora
calcula somente dois numeros nao consigo bolar algo que faça com que ela calcule mais de dois numeros
e segundo: ela aceita todos os valores que digito, gostaria de que seu Visor aceitasse somente valores numericos do meu teclado.
Se alguem conseguir me ajudar com esses bugs, no que creio que sejam bugs faceis de resolver para pessoas mais experientes,
ficaria muito grato para poder ir adiante com os estudos java.
T+
iniciar no java criando interface com netbeans putz…
acho que você começou de traz para frente cara.
Alysson_Zanette
Obrigado pelas boas vindas…Com isso me empolgo ainda mais a entrar no mundo JAVA…
E bom para responder as demais perguntas eu usei sim a interface do netbeans ao meu ver parecia ser mais facil…
Pelo o que o Elizeu_Santos postou vejo que não é bem assim… Vocês poderiam me dar alguma dica por onde começar a estudar?? Lembrando que
os conceitos de linguagem procedural e sua fundamentação eu ja tenho, limitando-se aos do PASCAL e C. E também já li conceitos sobre HTML e de linguagem OO.
Expecificamente voltado para JAVA, queria por em pratica e resolvi testar com o netbeans, não vou esconder que tomei um laço no começo…hehehehehe
Mas depois que fui mexendo no netbeans e pensando com muita mais muita calma consegui fazer, algumas coisas fui emendando com alguns códigos da internet
e ficou basicamente assim:
packagecalculadora;/** * * @author Alysson */publicclassJFCalcextendsjavax.swing.JFrame{charoperacao;Stringtemp,numAntes;doublenum1,num2,resultado;/** Creates new form JFCalc */publicJFCalc(){initComponents();}privatevoidescolheOperacao(charope)throwsNumberFormatException{operacao=ope;//guarda a operação desejadanum1=Double.parseDouble(jTVisor.getText());//guarda o texto passando para num1 passando a variavel jTVisor para o double porem como é uma string tera que converte-la usando o Double.perseDoublejTVisor.setText(" ");//Limpa os caracteres de jTVisor para chamar o outro numero}privatevoidnumDig(Stringnumero){temp=jTVisor.getText();//Pega o texto que esta dentro do visor, ouse ja, dentro a variavel jTVisornumAntes=temp;//guarda a vriavel temp antes de fazer o calculo para usar depois em backspacetemp=temp+numero;// Adiciona um valor a temp, adicionando o valor no final por causa do +, sendo assim você pode concatenar uma string, porem nunca desconcatenarjTVisor.setText(temp);// adiciona a variavel temp dentro do visor}privatevoidjB0ActionPerformed(java.awt.event.ActionEventevt){numDig("0");}privatevoidjB1ActionPerformed(java.awt.event.ActionEventevt){numDig("1");}privatevoidjB2ActionPerformed(java.awt.event.ActionEventevt){numDig("2");}privatevoidjB3ActionPerformed(java.awt.event.ActionEventevt){numDig("3");}privatevoidjB4ActionPerformed(java.awt.event.ActionEventevt){numDig("4");}privatevoidjB5ActionPerformed(java.awt.event.ActionEventevt){numDig("5");}privatevoidjB6ActionPerformed(java.awt.event.ActionEventevt){numDig("6");}privatevoidjB7ActionPerformed(java.awt.event.ActionEventevt){numDig("7");}privatevoidjB8ActionPerformed(java.awt.event.ActionEventevt){numDig("8");}privatevoidjB9ActionPerformed(java.awt.event.ActionEventevt){numDig("9");}privatevoidjBpontoActionPerformed(java.awt.event.ActionEventevt){numDig(".");}privatevoidjBadicaoActionPerformed(java.awt.event.ActionEventevt){escolheOperacao('+');}privatevoidjBresultadoActionPerformed(java.awt.event.ActionEventevt){num2=Double.parseDouble(jTVisor.getText());switch(operacao){case'+':resultado=num1+num2;break;case'-':resultado=num1-num2;break;case'*':resultado=num1*num2;break;case'/':resultado=num1/num2;break;}jTVisor.setText(String.valueOf(resultado));}privatevoidjBsubtracaoActionPerformed(java.awt.event.ActionEventevt){escolheOperacao('-');}privatevoidjBmultiActionPerformed(java.awt.event.ActionEventevt){escolheOperacao('*');}privatevoidjBdivisaoActionPerformed(java.awt.event.ActionEventevt){escolheOperacao('/');}privatevoidjBceActionPerformed(java.awt.event.ActionEventevt){num2=0;jTVisor.setText(String.valueOf(num1));}privatevoidjBcrlActionPerformed(java.awt.event.ActionEventevt){num2=0;num1=0;jTVisor.setText(" ");}privatevoidjBbackActionPerformed(java.awt.event.ActionEventevt){temp=numAntes;jTVisor.setText(temp);if(numAntes.length()>1){numAntes=numAntes.substring(1,numAntes.length()-1);}else{numAntes="";}}privatevoidjBmaismenosActionPerformed(java.awt.event.ActionEventevt){if(temp.startsWith("-")){temp=temp.replace('-','+');}elseif(temp.startsWith("+")){temp=temp.replace('+','-');}else{temp='-'+temp;}jTVisor.setText(temp);
A maneira que tive para montar esse projeto foi a mesma de um curso que fiz de Lógica de Programação em POA-RS, que em seu percurso tinha que criar um calculadora via prompt de comando
muito básica já que a linguagem utilizada era PASCAL e fui pegando mais ou menos a mesma base porem com codigos diferentes é claro, comentando quase tudo senão me perco
e com a utilização da interface tendo a visão de que seria mais “fácil”… :?
Só queria agradecer novamente pelas respostas obtidas, e lembrando que estou começando então para mim toda idéia passada é valida…
Valew a todos T+