Diferencia entre revisiones de «Usuario:ManuelRomero/clasesJava»

De WikiEducator
Saltar a: navegación, buscar
Línea 107: Línea 107:
 
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| Compara dos objetos <tt>Character </tt>con un resultado numérico: el valor es 0 si el parámetro y la instancia son iguales, es menor que 0 si la instancia es menor que el parámetro y es mayor que 0 si la instancia es mayor que el parámetro.
 
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| Compara dos objetos <tt>Character </tt>con un resultado numérico: el valor es 0 si el parámetro y la instancia son iguales, es menor que 0 si la instancia es menor que el parámetro y es mayor que 0 si la instancia es mayor que el parámetro.
 
|}
 
|}
=Clase Recional=
+
=Práctica 1: Calculadora usando números Racionales=
 +
*El enunciado de esta práctica se ha impartido en clase
 +
*Se facilitan los fuentes comentados
 +
*Conviene revisar y comprender la solución
 +
*Tanto la solución algorítmica ç
 +
** hay muchas alternativas y seguro que mejores, pero en clase hemos realizado ''ésta''
 +
*A nivel de sintaxis
 +
** comprender los comandos y las clases utilizadas
 +
** comprender el usao de objetos de clases del api '''Scanner leer'''
 +
** Comprender el uso de métodos directamente de clases de java.lang
 +
System.out.println Integer.pareInt(String)
 +
**Métodos de la clase String
 +
indexOf(char) substring(posicionInicial, posicionFinal)
 +
Conviene revisarlo y plantear cualquier duda
 +
{{Pregunta||si revisas este código anótate cualquier duda o anótala en discusion
 +
El próximo día la planteamos :)}}
 +
==Clase Racional==
 +
*Revisar constructores sobrecargados
 
<source lang=java>
 
<source lang=java>
  
Línea 115: Línea 132:
 
private int den;
 
private int den;
 
 
//Definimos el constructor
+
//Definimos los constructor sobrecargados
 +
 +
/**
 +
* A partir de la caden a/b construyo el racional
 +
* num=a
 +
* den=b
 +
* @param numero es una cadena de caracteres de la forma a/b
 +
*/
 
Racional (String numero){
 
Racional (String numero){
 
int pos;
 
int pos;
Línea 133: Línea 157:
 
}
 
}
  
 +
/**
 +
* A partir de los enteros pasados construyo el racional
 +
* @param num
 +
* @param den
 +
*/
 
Racional(int num, int den){
 
Racional(int num, int den){
 
this.num=num;
 
this.num=num;
 
this.den = den;
 
this.den = den;
 
}
 
}
 +
/**
 +
* Me pasan solo el numerador
 +
* el denominador = 1
 +
* @param num
 +
*/
 
Racional(int num){
 
Racional(int num){
 
this.num=num;
 
this.num=num;
 
this.den = 1;
 
this.den = 1;
 
}
 
}
 +
/**
 +
* No me pasan nada, construyo 1/1
 +
*/
 
Racional(){
 
Racional(){
 
this.num=1;
 
this.num=1;
 
this.den =1;
 
this.den =1;
 
}
 
}
 +
/**
 +
* simplemento visualizo "a/b" 
 +
*/
 
public void visualizar(){
 
public void visualizar(){
 
System.out.print(this.num+"/"+this.den);
 
System.out.print(this.num+"/"+this.den);
 
}
 
}
 
+
/**
 +
* @return la cadena de caracteres num/den
 +
*/
 
public String toString() {
 
public String toString() {
 
return (this.num + "/" + this.den );
 
return (this.num + "/" + this.den );
 +
}
 +
/**
 +
*
 +
* @return el float de num/den
 +
*/
 +
public float diValor(){
 +
return ((float)this.num/(float)this.den);
 
}
 
}
 
 
 +
/**
 +
* suma al racional actual el racional que le paso por parámetro
 +
* Retorna el racional suma
 +
* @param r Racianal 2º sumndo
 +
* @return Un racional suma del objeto actual y r
 +
*/
 
public Racional sumar(Racional r){
 
public Racional sumar(Racional r){
 
    Racional resultado = new Racional();
 
    Racional resultado = new Racional();
Línea 158: Línea 213:
 
    resultado.num=this.num*r.den+this.den*r.num;
 
    resultado.num=this.num*r.den+this.den*r.num;
 
    return resultado;
 
    return resultado;
 +
    /*Posible en una sóla instruccion
 +
    * return (this.den*r.den,this.num*r.den+this.den*r.num);
 +
    */
 
}
 
}
 
public Racional restar(Racional r){
 
public Racional restar(Racional r){
Línea 164: Línea 222:
 
    resultado.num=this.num*r.den-this.den*r.num;
 
    resultado.num=this.num*r.den-this.den*r.num;
 
    return resultado;
 
    return resultado;
 +
    /*Posible en una sóla instruccion
 +
    * return (this.den*r.den,this.num*r.den-this.den*r.num);
 +
    */
 +
   
 
}
 
}
 
public Racional multiplicar(Racional r){
 
public Racional multiplicar(Racional r){
Línea 170: Línea 232:
 
    resultado.num=this.num*r.num;
 
    resultado.num=this.num*r.num;
 
    return resultado;
 
    return resultado;
 +
    /*Posible en una sóla instruccion
 +
    * return (this.den*r.den,this.num*r.num);
 +
    */
 +
   
 
}
 
}
 
public Racional dividir(Racional r){
 
public Racional dividir(Racional r){
Línea 176: Línea 242:
 
    resultado.den=this.den*r.num;      
 
    resultado.den=this.den*r.num;      
 
    return resultado;
 
    return resultado;
 +
    /*Posible en una sóla instruccion
 +
          return (this.num*r.den,this.den*r.num);
 +
    */
 +
   
 
}
 
}
 +
/**
 +
* Modifica el objeto actual simplificando
 +
*/
 
public void simplificar(){
 
public void simplificar(){
 
int n = mcd();
 
int n = mcd();
Línea 183: Línea 256:
 
 
 
}
 
}
+
/**
 +
*
 +
* @return el máximo común divisor de num y den
 +
*/
 
private int mcd(){
 
private int mcd(){
 
int mayor = this.num;
 
int mayor = this.num;
Línea 207: Línea 283:
 
}
 
}
 
 
 
}
 
  
 +
}
 
</source>
 
</source>
==Metodo principal==
+
=Clase Principal=
 +
*Revisar el concepto de static (lo trataremos con más detalle)
 
<source lang=java>
 
<source lang=java>
 
import java.util.Scanner;
 
import java.util.Scanner;
Línea 220: Línea 296:
 
static Scanner leer = new Scanner(System.in);
 
static Scanner leer = new Scanner(System.in);
 
static Racional r1 =null;
 
static Racional r1 =null;
 +
/**
 +
*
 +
* @param operacion Es la operacion que se quiere realizar a/b op d/e
 +
*      operacion donde  op una de las siguientes operaciones +,-,*,:
 +
* @return un caracter que representa la operación o 0 si no hay ninguna
 +
*/
 +
public static char sacaOperando(String operacion){
 +
int pos;
 +
pos = operacion.indexOf('+');
 +
if (pos != -1)
 +
return '+';
 +
pos = operacion.indexOf('-');
 +
if (pos != -1)
 +
return '-';
 +
pos = operacion.indexOf('*');
 +
if (pos != -1)
 +
return '*';
 +
pos = operacion.indexOf(':');
 +
if (pos != -1)
 +
return ':';
 +
else {
 +
    System.out.println("Operadores permitidos ('+,-,*,:) no presente en "+operacion);
 +
return 0;
 +
}
 +
}
 +
/**
 +
*
 +
* @param operacion Es la operación que se quiere realizar a/b op d/e
 +
*      operacion donde  op una de las siguientes operaciones +,-,*,:
 +
* @return Un Racional con el resultado de la operacion a/b+c/d p.e
 +
*/
 
 
/**visualice opciones
+
public static Racional opera (String operacion){
*recoger la opción seleccionada
+
char operando = sacaOperando(operacion);
*retornar dicho valor validado
+
int pos;
*/operación
+
String  op;
public static int menu(){
+
pos = operacion.indexOf(operando);
int opcion;
+
op = operacion.substring(0,pos);
      do{
+
Racional op1 = new Racional(op);
        System.out.println("Menu princial");
+
op = operacion.substring(pos+1);
    System.out.println("1.-Insertar Racional");
+
Racional op2 = new Racional(op);
System.out.println("2.-Visualizar");
+
switch (operando){
System.out.println("3.-Simplificar");
+
case '+':
System.out.println("4.-Visualiza valor");
+
return (op1.sumar(op2));
System.out.println("5.-Calculadora");
+
case'-':
System.out.println("6.-Salir");
+
return (op1.restar(op2));
System.out.println("Elija una opción: ");
+
case '*':
while (leer.hasNextInt()==false){
+
return (op1.multiplicar(op2));
System.out.println("Solo número por favor");
+
case ':':
leer.nextLine();
+
return(op1.dividir(op2));
}
+
default:
opcion=leer.nextInt();
+
System.out.println("Operacion no permitida");
      }while((opcion<1)|| (opcion >6));
+
return(new Racional());
      //Para dejar el buffer limpiooperación
+
      leer.nextLine();
+
      return opcion;
+
//visualizo resto
+
//Valido que haya un entero
+
 
}
 
}
public static void accion (int opcion){
+
String num;
+
}
switch (opcion){
+
 +
 +
/** Visualiza opciones
 +
* valida que la opcion introducida es número
 +
* valida que la opcion introducida está en rango permitido
 +
*retornar  la opción seleccionada (1-6)
 +
*/
 +
public static int menu(){
 +
  int opcion;
 +
  do{
 +
    System.out.println("Menu princial");
 +
System.out.println("1.-Insertar Racional");
 +
System.out.println("2.-Visualizar");
 +
System.out.println("3.-Simplificar");
 +
System.out.println("4.-Visualiza valor");
 +
System.out.println("5.-Calculadora");
 +
System.out.println("6.-Salir");
 +
System.out.println("Elija una opción: ");
 +
while (leer.hasNextInt()==false){
 +
      System.out.println("Solo número por favor");
 +
      leer.nextLine();
 +
}//End do...
 +
opcion=leer.nextInt();
 +
  }while((opcion<1)|| (opcion >6));
 +
      //Para dejar el buffer limpio
 +
      //(después de leer entero se queda en intro)
 +
  leer.nextLine();
 +
  return opcion;
 +
}//End método menú()
 +
 
 +
 
 +
/**
 +
*
 +
* @param opcion es la opión seleccionada 1-6
 +
* En función de la opción seleccionada
 +
* realiza las acciones correspondientes
 +
* Hacer notar que hay acciones que si el racional
 +
* no se ha instanciado, no se pueden realizar (visualizar, simplificar y diValor)
 +
*/
 +
public static void accion (int opcion){
 +
  String num;
 +
  switch (opcion){
 
case 1:  System.out.println("Inserta el racional a/b");
 
case 1:  System.out.println("Inserta el racional a/b");
 
        num=leer.nextLine();
 
        num=leer.nextLine();
Línea 256: Línea 399:
 
        break;
 
        break;
 
case 2:
 
case 2:
  if (r1==null)operación
+
  if (r1==null)
  System.out.println("Primero inserta");
+
  System.out.println("Primero inserta");
 
  else
 
  else
 
  System.out.println("Racional = "+r1.toString());
 
  System.out.println("Racional = "+r1.toString());
Línea 278: Línea 421:
 
  break;
 
  break;
 
case 5:
 
case 5:
System.out.println("Solicitaré una operación");
+
  String operacion;
break;
+
  System.out.println("inserta operacion a/b op c/d");
+
  System.out.println("donde op =(+,-,*,:)");
 +
  operacion = leer.nextLine();
 +
  r1 = opera(operacion);
 +
  System.out.println(operacion+"="+r1.toString());
 +
  break;
 
case 6:
 
case 6:
System.out.println("Fin de programa");
+
  System.out.println("Fin de programa");
break;
+
  break;
}
+
}//End del switch
}
+
}//End método accion()
public static void main(String[] args) {
+
int opcion;
+
      do{
+
  opcion = menu();
+
  accion(opcion);
+
}while (opcion!=6);
+
//accion(opcion);
+
}//fin de main
+
+
+
}//fin del programa principal
+
  
 +
 +
/**
 +
*
 +
* @param args (vacío, necesario por sintaxis
 +
* lee la opción de lo que retorna menu()
 +
* y le dice al método accion() que la realice
 +
* Se itera hasta que la opción sea salir (6)
 +
*/
 +
public static void main(String[] args) {
 +
int opcion;
 +
    do{
 +
  opcion = menu();
 +
  accion(opcion);
 +
}while (opcion!=6);
 +
}//fin de main
 +
 +
 +
}//Fin del programa principal
 +
 
</source>
 
</source>

Revisión de 09:37 5 abr 2012

LA CLASE STRNG

  • String es una clase predefinida para representar cadena de caracteres.
  • Pertenece al paquete o libreríajava.lang
  • orientada a manejar cadenas constantes de caracteres.
  • Una instancia de la clase String es inmutable
  • Si queremos cambiar el contenido de una cadena debemos usar la clase BufferString
  • A continuación enumeramos algunos de sus métodos muy prácticos e interesantes.

Métodos de la clase string

length() Devuelve la longitud de la cadena
indexOf(‘caracter’) Devuelve la posición de la primera aparición de caracter
lastIndexOf(‘caracter’) Devuelve la posición de la última aparición de caracter
charAt(n) Devuelve el carácter que está en la posición n
substring(n1,n2) Devuelve la subcadena comprendida entre las posiciones n1 y n2 ambas incluidas
toUpperCase() Devuelve la cadena convertida a maýusculas
toLowerCase() Devuelve la cadena convertida a minúsculas
equals("cad") Compara dos cadenas y devuelve true si son iguales
equalsIgnoreCase("cad") I gual que equals pero sin considerar mayúsculas y minúsculas
valueOf(n) Convierte el valor entero n a cadena. Existen otros métodos con elmismo identificador, valueOf, para la conversión del resto de los
tipos primitivos a cadena.

Operando con String

Las siguientes son operaciones con datos de la clase String

"curso" + "java" // Genera "cursojava"
"indice" + 5 // Genera "indice5"
5 + "capitulo" // Genera "5capitulo"
"x" + 2 + 3 // Genera "x23"
2 + 3 + "x" // Genera "5x": cuidado con la prioridad de los operadores
 2 + (3 + "x") // Genera "23x"
  • Tambien puede emplearse el operador +=, de forma que la sentencia a+=b es equivalente a la sentencia a = a+b.
  • La comparación == no se realiza ya que los objetos son valores constantes a posiciones de memoria
nombre = “pedro”
otronombre =”pedro”
nombre==otronombre no me dará cierto
  • el método equals, de forma que cadena1.equals(cadena2) devuelve true si cadena1 y cadena2 hacen referencia a un mismo valor.

Objetos de la clase Character

*La clase predefinida Character permite trabajar único carácter Unicode.

*facilitan la manipulación de datos de tipo primitivo char.

Métodos de la clase Character

METODO ACCION
boolean isUpperCase(char)

boolean isLowerCase(char)

Determina si el carácter es mayúsculas o minúsculas,respectivamente
char toUpperCase(char)

char toLowerCase(char)

Devuelve el carácter en mayúsculas o minúsculas correspondiente.
boolean isLetter(char)

boolean isDigit(char) boolean isLetterOrDigit(char)

Determina si el carácter es una letra, un dígito, o una letra o un dígito, respectivamente.
boolean isWhitespace(char) Determina si el carácter es un carácter de espacio en blanco.
boolean isSpaceChar(char) Determina si el carácter es un carácter de espacio en blanco de acuerdo a Unicode.
boolean isJavaIdentifierStart(char)

boolean isJavaIdentifierPart(char)

Determina si el carácter puede ser el primer carácter permitido en un identificador o parte de él.
int compareTo(Character otroCter) Compara dos objetos Character con un resultado numérico: el valor es 0 si el parámetro y la instancia son iguales, es menor que 0 si la instancia es menor que el parámetro y es mayor que 0 si la instancia es mayor que el parámetro.

Práctica 1: Calculadora usando números Racionales

  • El enunciado de esta práctica se ha impartido en clase
  • Se facilitan los fuentes comentados
  • Conviene revisar y comprender la solución
  • Tanto la solución algorítmica ç
    • hay muchas alternativas y seguro que mejores, pero en clase hemos realizado ésta
  • A nivel de sintaxis
    • comprender los comandos y las clases utilizadas
    • comprender el usao de objetos de clases del api Scanner leer
    • Comprender el uso de métodos directamente de clases de java.lang
System.out.println Integer.pareInt(String) 
    • Métodos de la clase String
indexOf(char) substring(posicionInicial, posicionFinal)

Conviene revisarlo y plantear cualquier duda



Icon qmark.gif

Pregunta


Clase Racional

  • Revisar constructores sobrecargados
public class Racional {
//Defino atributos
	private int num;
	private int den;
 
//Definimos los constructor sobrecargados
 
	/**
	 * A partir de la caden a/b construyo el racional
	 * num=a
	 * den=b
	 * @param numero es una cadena de caracteres de la forma a/b
	 */
	Racional (String numero){
		int pos;
		pos = numero.indexOf('/');
		if (pos==-1){
			System.out.println("Error "+numero+"No es racional. " +"\n Crearemos el racional 1/1");
			this.num=1;
			this.den=1;
		}
		else{
			String n;
			n=numero.substring(0,pos);
			this.num=Integer.parseInt(n);
			n=numero.substring(pos+1);
			this.den=Integer.parseInt(n);
		}
	}
 
	/**
	 * A partir de los enteros pasados construyo el racional
	 * @param num
	 * @param den
	 */
	Racional(int num, int den){
		this.num=num;
		this.den = den;
	}
	/**
	 * Me pasan solo el numerador
	 * el denominador = 1
	 * @param num
	 */
	Racional(int num){
		this.num=num;
		this.den = 1;
	}
	/**
	 * No me pasan nada, construyo 1/1
	 */
	Racional(){
		this.num=1;
		this.den =1;
	}
	/**
	 * simplemento visualizo "a/b"  
	 */
	public void visualizar(){
		System.out.print(this.num+"/"+this.den);
	}
	/**
	 * @return la cadena de caracteres num/den
	 */
	public String toString() {
		return (this.num + "/" + this.den );
	}
	/**
	 * 
	 * @return el float de num/den
	 */
	public float diValor(){
		return ((float)this.num/(float)this.den);
	}
 
	/**
	 * suma al racional actual el racional que le paso por parámetro
	 * Retorna el racional suma
	 * @param r Racianal 2º sumndo
	 * @return Un racional suma del objeto actual y r
	 */
	public Racional sumar(Racional r){
	    Racional resultado = new Racional();
	    resultado.den=this.den*r.den;
	    resultado.num=this.num*r.den+this.den*r.num;
	    return resultado;
	    /*Posible en una sóla instruccion
	     * return (this.den*r.den,this.num*r.den+this.den*r.num);
	     */
	}
	public Racional restar(Racional r){
	    Racional resultado = new Racional();
	    resultado.den=this.den*r.den;
	    resultado.num=this.num*r.den-this.den*r.num;
	    return resultado;
	    /*Posible en una sóla instruccion
	     * return (this.den*r.den,this.num*r.den-this.den*r.num);
	     */
 
	}
	public Racional multiplicar(Racional r){
	    Racional resultado = new Racional();
	    resultado.den=this.den*r.den;
	    resultado.num=this.num*r.num;
	    return resultado;
	    /*Posible en una sóla instruccion
	     * return (this.den*r.den,this.num*r.num);
	     */
 
	}
	public Racional dividir(Racional r){
	    Racional resultado = new Racional();
	    resultado.num=this.num*r.den;
	    resultado.den=this.den*r.num;	    
	    return resultado;
	    /*Posible en una sóla instruccion
          return (this.num*r.den,this.den*r.num);
	     */
 
	}
	/**
	 * Modifica el objeto actual simplificando
	 */
	public void simplificar(){
		int n = mcd();
		this.num= this.num/n;
		this.den= this.den/n;
 
	}
	/**
	 * 
	 * @return el máximo común divisor de num y den
	 */
	private int mcd(){
		int mayor = this.num;
		int menor = this.den;
		int resto=1;
		if (mayor< menor){
			resto = menor;
		    menor = mayor;
		    mayor = resto;
	    }
 
		while (mayor!=menor){
			resto= mayor-menor;
			if (resto > menor){
			   mayor = resto;
			}
			else{
			  mayor=menor;
			  menor=resto;
			}
		}
		return menor;
	}
 
 
}

Clase Principal

  • Revisar el concepto de static (lo trataremos con más detalle)
import java.util.Scanner;
public class Principal {
	/**
	 * @param args
	 */
	static Scanner leer = new Scanner(System.in);
	static Racional r1 =null;
	/**
	 * 
	 * @param operacion Es la operacion que se quiere realizar a/b op d/e
	 *       operacion donde  op una de las siguientes operaciones +,-,*,:
	 * @return un caracter que representa la operación o 0 si no hay ninguna 
	 */
public static char sacaOperando(String operacion){
		int pos;
		pos = operacion.indexOf('+');
		if (pos != -1)
			return '+';
		pos = operacion.indexOf('-');
		if (pos != -1)
			return '-';
		pos = operacion.indexOf('*');
		if (pos != -1)
			return '*';
		pos = operacion.indexOf(':');
		if (pos != -1)
			return ':';
		else {
		    System.out.println("Operadores permitidos ('+,-,*,:) no presente en "+operacion);	 
			return 0;
		}
}	
/**
 * 
 * @param operacion Es la operación que se quiere realizar a/b op d/e
	 *       operacion donde  op una de las siguientes operaciones +,-,*,:
 * @return Un Racional con el resultado de la operacion a/b+c/d p.e
 */
 
public static Racional opera (String operacion){
	char operando = sacaOperando(operacion);
	int pos;
	String  op;
	pos = operacion.indexOf(operando);
	op = operacion.substring(0,pos);
	Racional op1 = new Racional(op);
	op = operacion.substring(pos+1);
	Racional op2 = new Racional(op);
	switch (operando){
	case '+':
		return (op1.sumar(op2));
	case'-':
		return (op1.restar(op2));
	case '*':
		return (op1.multiplicar(op2));
	case ':':
		return(op1.dividir(op2));
	default:
		System.out.println("Operacion no permitida");
		return(new Racional());
	}
 
}
 
 
	/** Visualiza opciones
	* valida que la opcion introducida es número
	* valida que la opcion introducida está en rango permitido
	*retornar  la opción seleccionada (1-6)
	*/
public static int menu(){
  int opcion;
  do{
    System.out.println("Menu princial");
	System.out.println("1.-Insertar Racional");
	System.out.println("2.-Visualizar");
	System.out.println("3.-Simplificar");
	System.out.println("4.-Visualiza valor");
	System.out.println("5.-Calculadora");
	System.out.println("6.-Salir");
	System.out.println("Elija una opción: ");
	while (leer.hasNextInt()==false){
	      System.out.println("Solo número por favor");
    	  leer.nextLine();
	}//End do...
	opcion=leer.nextInt();
  }while((opcion<1)|| (opcion >6));
      //Para dejar el buffer limpio 
      //(después de leer entero se queda en intro)
  leer.nextLine();
  return opcion;
}//End método menú()
 
 
/**
 * 
 * @param opcion es la opión seleccionada 1-6
 * En función de la opción seleccionada 
 * realiza las acciones correspondientes
 * Hacer notar que hay acciones que si el racional 
 * no se ha instanciado, no se pueden realizar (visualizar, simplificar y diValor)
 */
public static void accion (int opcion){
  String num;
  switch (opcion){
		case 1:  System.out.println("Inserta el racional a/b");
		         num=leer.nextLine();
		         r1= new Racional(num);
		         break;
		case 2:
			   if (r1==null)
	 			   System.out.println("Primero inserta");
			   else
				   System.out.println("Racional = "+r1.toString());
			   break;
		case 3:
			   if (r1==null)
				   System.out.println("Primero inserta");
			   else{
				   System.out.print("Racional = "+r1.toString());
				   r1.simplificar();
				   System.out.println(" simplificado = "+r1.toString());
			   }
			   break;
		case 4:
			   if (r1==null)
				   System.out.println("Primero inserta");
			   else{
				   System.out.println(r1.toString()+"="+r1.diValor());
			   }
			   break;
		case 5:
			   String operacion;
			   System.out.println("inserta operacion a/b op c/d");
 			   System.out.println("donde op =(+,-,*,:)");
			   operacion = leer.nextLine();
			   r1 = opera(operacion);
			   System.out.println(operacion+"="+r1.toString());
			   break;
		case 6:
			   System.out.println("Fin de programa");
			   break;
	}//End del switch
 }//End método accion()
 
 
/**
 * 
 * @param args (vacío, necesario por sintaxis
 * lee la opción de lo que retorna menu()
 * y le dice al método accion() que la realice
 * Se itera hasta que la opción sea salir (6) 
 */
 public static void main(String[] args) {
	int opcion;
    do{
	   opcion = menu();
	   accion(opcion);
	}while (opcion!=6);
 }//fin de main
 
 
}//Fin del programa principal