import java.util.Scanner;

public class QuizExamenAnulado
{
  public static void main(String args[])
  {
    System.out.println("Tablas de operadores");
    
    Scanner teclado = new Scanner(System.in);
    
    System.out.print(" Elija el operador [1=+ 2=- 3=* 4=/ 5=% 0=Salir]");
    int opcion = teclado.nextInt();
    
    System.out.print(" Elija el valor minimo: ");
    double valorminimo = teclado.nextDouble();
    
    System.out.print(" Elija el valor maximo: ");
    double valormaximo = teclado.nextDouble();
    
    System.out.print(" Elija el incremento deseado: ");
    double incremento = teclado.nextDouble();
    
    switch ( opcion )
    {   
      case 1:
        double i,j,r;
        System.out.print(" +    |   ");
        for (double a = valorminimo; a <= valormaximo; a=a+incremento)
        {
          System.out.printf("%2.2f  ", a);
        }
        System.out.println("\n-------------------------------------------------------------------");
        for(double b = valorminimo; b <= valormaximo; b=b+incremento)
        {
          System.out.printf("%2.2f  |", b);
        }
        for(i=valorminimo;i<=valormaximo;i++)
        {
          for(j=valorminimo;j<=valormaximo;j++)
          {
            r=i+j;
            System.out.printf(" %s\t  ", +r);
          }
          System.out.println(""); 
        }
        break;
        
      case 2:
        double k,l,m;
        System.out.print(" +    |   ");
        for (double d = valorminimo; d <= valormaximo; d=d+incremento)
        {
          System.out.printf("%2.2f  ", d);
        }
        System.out.println("\n-------------------------------------------------------------------");
        for(double e = valorminimo; e <= valormaximo; e=e+incremento)
        {
          System.out.printf("%2.2f  |", e);
        }
        
        for(k=valorminimo;k<=valormaximo;k++)
        {
          for(l=valorminimo;l<=valormaximo;l++)
          {
            m=k-l;
            System.out.printf(" %s\t ", +m);
          }
          System.out.println(); 
        }
        break;
        
      case 3:
        double o,p,q;
        System.out.print(" +    |   ");
        for (double f = valorminimo; f <= valormaximo; f=f+incremento)
        {
          System.out.printf("%2.2f  ", f);
        }
        System.out.println("\n-------------------------------------------------------------------");
        for(double g = valorminimo; g <= valormaximo; g=g+incremento)
        {
          System.out.printf("%2.2f  |", g);
        }
        
        for(o=valorminimo;o<=valormaximo;o++)
        {
          for(p=valorminimo;p<=valormaximo;p++)
          {
            q=o*p;
            System.out.printf(" %s\t ", +q);
          }
          System.out.println(); 
        }
        
        break;
        
      case 4:
        double t,u,v;
        System.out.print(" +    |   ");
        for (double h = valorminimo; h <= valormaximo; h=h+incremento)
        {
          System.out.printf("%2.2f  ", h);
        }
        System.out.println("\n-------------------------------------------------------------------");
        for(double n = valorminimo; n <= valormaximo; n=n+incremento)
        {
          System.out.printf("%2.2f  |", n);
        }
        for(t=valorminimo;t<=valormaximo;t++)
        {
          for(u=valorminimo;u<=valormaximo;u++)
          {
            v=t/u;
            System.out.printf(" %s\t ", +v);
          }
          System.out.println(); 
        }
        break;
        
      case 5:
        double x,y,z;
        System.out.print(" +    |   ");
        for (double ñ = valorminimo; ñ <= valormaximo; ñ=ñ+incremento)
        {
          System.out.printf("%2.2f  ", ñ);
        }
        System.out.println("\n-------------------------------------------------------------------");
        for(double w = valorminimo; w <= valormaximo; w=w+incremento)
        {
          System.out.printf("%2.2f  |", w);
          for(x=valorminimo;x<=valormaximo;x++)
          {
            for(y=valorminimo;y<=valormaximo;y++)
            {
              z=x%y;
              System.out.printf(" %s\t ", +z);
            }
            System.out.println(); 
          }
          break;
          
        }
    }
  }
}
  
  
  
  
  
  
  
  
  
  
