import java.util.Scanner;

public class Examen1
{
  public static void main(String args[])
  {
  Scanner teclado=new Scanner(System.in);
  System.out.println("Tablas de Operadores");
  int opcion=1;
  
  while(opcion!=0)
  {
    System.out.print("Operador: 1=+ 2=- 3=* 4=/ 5=% 0=Salir ");
    opcion=teclado.nextInt();
    if(opcion!=0)
    {
    System.out.print("Cual es el minimo?");
    double minimo=teclado.nextDouble();
    System.out.print("Cual es el maximo?");
    double maximo=teclado.nextDouble();
    System.out.print("Cual es el incremento?");
    double incremento=teclado.nextDouble();
    
    while(incremento<=0)
    {
     System.err.print("Su incremento debe ser un entero positivo mayor a cero");
     incremento=teclado.nextInt();
    }
      switch(opcion)
      {
        case 1:
          
      System.out.print(" +   |");
      for(double k=minimo;k<=maximo;k=k+incremento)
      {
         System.out.printf("\t%-+,1.1f",k);
         
        }
      System.out.println();
         for(double l=minimo;l<=maximo;l=l+incremento)
      {
         System.out.print("-------------");
         
        }
         System.out.println();
      
          for(double i=minimo;i<=maximo;i=i+incremento)
        {
          System.out.printf("%-+,1.1f",i);
          System.out.print(" |");
          
          for(double j=minimo;j<=maximo;j=j+incremento)
          {
            double suma=i+j;
            System.out.printf("\t%-+,1.1f",suma);
          }
          System.out.println();
        }
          break;
          
        case 2:
      
          System.out.print(" -   |");
      for(double k=minimo;k<=maximo;k=k+incremento)
      {
         System.out.printf("\t%-+,1.1f",k);
         
        }
      System.out.println();
         for(double l=minimo;l<=maximo;l=l+incremento)
      {
         System.out.print("-------------");
         
        }
         System.out.println();
      
          for(double i=minimo;i<=maximo;i=i+incremento)
        {
          System.out.printf("%-+,1.1f",i);
          System.out.print(" |");
          
          for(double j=minimo;j<=maximo;j=j+incremento)
          {
            double resta=i-j;
            System.out.printf("\t%-+,1.1f",resta);
          }
          System.out.println();
        }
          
          break;
         
        case 3:
           
      System.out.print(" *   |");
      for(double k=minimo;k<=maximo;k=k+incremento)
      {
         System.out.printf("\t%-+,1.1f",k);
         
        }
      System.out.println();
         for(double l=minimo;l<=maximo;l=l+incremento)
      {
         System.out.print("------------");
         
        }
         System.out.println();
      
          for(double i=minimo;i<=maximo;i=i+incremento)
        {
          System.out.printf("%-+,1.1f",i);
          System.out.print(" |");
          
          for(double j=minimo;j<=maximo;j=j+incremento)
          {
            double multi=i*j;
            System.out.printf("\t%-+,1.1f",multi);
          }
          System.out.println();
        }
          
          break;
          
        case 4:
          
      System.out.print(" /   |");
      for(double k=minimo;k<=maximo;k=k+incremento)
      {
         System.out.printf("\t%-+,1.1f",k);
         
        }
      System.out.println();
         for(double l=minimo;l<=maximo;l=l+incremento)
      {
         System.out.print("------------");
         
        }
         System.out.println();
      
          for(double i=minimo;i<=maximo;i=i+incremento)
        {
          System.out.printf("%-+,1.1f",i);
          System.out.print(" |");
          
          for(double j=minimo;j<=maximo;j=j+incremento)
          {
            double division=i/j;
            System.out.printf("\t%-+,1.1f",division);
          }
          System.out.println();
        }
          
       break;
       
        case 5:
                 
      System.out.print(" %   |");
      for(double k=minimo;k<=maximo;k=k+incremento)
      {
         System.out.printf("\t%-+,1.1f",k);
         
        }
      System.out.println();
         for(double l=minimo;l<=maximo;l=l+incremento)
      {
         System.out.print("------------");
         
        }
         System.out.println();
      
          for(double i=minimo;i<=maximo;i=i+incremento)
        {
          System.out.printf("%-+,1.1f",i);
          System.out.print(" |");
          
          for(double j=minimo;j<=maximo;j=j+incremento)
          {
            double modulo=i%j;
            System.out.printf("\t%-+,1.1f",modulo);
          }
          System.out.println();
        }
          
          break;
          }
    }
  }
  }
}
        
     
        