Calculadora

meu programinha :P… sujestões?

import javax.swing.JOptionPane;  
  
  
  
  
  
public class calculadora {  
     
   public static void main( String args[] ) {  
        
        
         String a, b, f, opções;    
          int es;       
          float c, d, e;  
            
           
          
          opções = JOptionPane.showInputDialog(null, "Digite | Para \n     1    |     +    \n     2    |     -    \n     3    |     *    \n     4    |     :     \n     5    |   x^[]  \n     6    |    x^2   \n     7    |   eq. 2º grau");  
          es = Integer.parseInt(opções);  
  
            
          //casos possiveis  
            
          switch (es)       
           {    
            
             
  
            
          case 1:  
             a = JOptionPane.showInputDialog ("Escreva o primeiro numero");    
             c = Float.parseFloat(a);    
             b = JOptionPane.showInputDialog ("Escreva o segundo numero");    
             d = Float.parseFloat(b);    
          e = c + d;  
          JOptionPane.showMessageDialog(null, "Resultado: " + e, "Feito", JOptionPane.PLAIN_MESSAGE );break;  
         
          case 2:  
             a = JOptionPane.showInputDialog ("Escreva o primeiro numero");    
             c = Float.parseFloat(a);    
             b = JOptionPane.showInputDialog ("Escreva o segundo numero");    
             d = Float.parseFloat(b);    
          e = c - d;  
          JOptionPane.showMessageDialog(null, "Resultado: " + e, "Feito", JOptionPane.PLAIN_MESSAGE );break;  
            
          case 3:     
              a = JOptionPane.showInputDialog ("Escreva o primeiro numero");    
             c = Float.parseFloat(a);    
             b = JOptionPane.showInputDialog ("Escreva o segundo numero");    
             d = Float.parseFloat(b);    
          e = c * d;  
          JOptionPane.showMessageDialog(null, "Resultado: " + e, "Feito", JOptionPane.PLAIN_MESSAGE );break;  
            
          case 4:   
             a = JOptionPane.showInputDialog ("Escreva o primeiro numero");    
             c = Float.parseFloat(a);    
             b = JOptionPane.showInputDialog ("Escreva o segundo numero");    
             d = Float.parseFloat(b);    
          e = c / d;  
          JOptionPane.showMessageDialog(null, "Resultado: " + e, "Feito", JOptionPane.PLAIN_MESSAGE );break;  
            
          case 5:  
             a = JOptionPane.showInputDialog ("Escreva a base");    
             c = Float.parseFloat(a);    
             b = JOptionPane.showInputDialog ("Escreva a potencia");    
             d = Float.parseFloat(b);    
               
             JOptionPane.showMessageDialog(null, "Resultado: " + Math.pow(c, d), "Feito", JOptionPane.PLAIN_MESSAGE );break;  
  
               
          case 6:      
               
             a = JOptionPane.showInputDialog ("Escreva a base");    
             c = Float.parseFloat(a);    
              
             JOptionPane.showMessageDialog(null, "Resultado: " + Math.pow(c, 2), "Feito", JOptionPane.PLAIN_MESSAGE );break;  
                 
          
               
          case 7:  
               
               
                
                
              a = JOptionPane.showInputDialog ("Escreva o valor de a");    
             double a1 = Float.parseFloat(a);    
             b = JOptionPane.showInputDialog ("Escreva o valor de b");    
             double b1 = Float.parseFloat(b);    
             f = JOptionPane.showInputDialog ("Escreva o valor de c");    
             double c1 = Float.parseFloat(f);   
                
                
  
      double x;  
      double y;  
  
      double d1;  
  
      if((d1 = b1*b1 - 4*a1*c1) < 0){  
        JOptionPane.showInputDialog(null, "Nao ha solucoes!");  
      }  
      else {  
           
         JOptionPane.showMessageDialog(null, "X=-" +b1*b1 +"±&#8730;" +b1*b1 +"-4x" +a1 +"x" +c1 +"\n  __________________________\n             " +2*a1);  
                   x= (-b1+Math.sqrt(d1))/(2*a1);  
                    y= (-b1-Math.sqrt(d1))/(2*a1);  
                    JOptionPane.showMessageDialog(null, "A solução é x= " + x + " e x=" + y);     
      }
          
            
            
            
            
            
             
       
            
         
}  
   }  
}  
 

Dê o nome da classe com letra maiúscula
Corrija a indentação, retire os “enters” desnecessários e variáveis não usadas.
Pense melhor em como evitar a repetição de código
Organize o código, no mínimo, em funções
Não use acentuação em nomes de variáveis
Prefira declarar as variáveis na hora de usa-las a primeira vez.
Faltou break em todos os seus cases.

como é que faço, para que a primeira parte, o de escolher a operação que querem, seja com botoes?

Então… para fazer as coisas do jeito “profissional”, você vai ter de limitar o uso de JOptionPane a mensagens do tipo “Erro” ou coisas parecidas.

Você precisaria criar um JFrame e outras coisas que precisam de um bocado de aprendizado antes.

Outra maneira, que acho melhor para quem está aprendendo mesmo, é usar apenas o console (ou seja, new Scanner (System.in) - como você já tinha feito em um exercício atrás).

Eu acho até melhor (porque é mais útil) aprender a ler primeiro de um arquivo-texto, que aprender a ler do teclado. Ler do teclado é na prática inviável, e não se faz em programas profissionais, porque o Java tem suporte muito ruim para ler coisas do console pelo teclado.

Como é que é isso?