Diferencia entre revisiones de «Usuario:ManuelRomero/clasesJava»

De WikiEducator
Saltar a: navegación, buscar
 
(6 revisiones intermedias por el mismo usuario no mostrado)
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=
+
=Trabajar con ficheros=
 
<source lang=java>
 
<source lang=java>
 +
import java.io.File;
 +
import java.io.FileNotFoundException;
 +
import java.io.IOException;
 +
import java.io.PrintWriter;
 +
import java.util.Scanner;
  
public class Racional {
+
public class Fichero {
//Defino atributos
+
public static void main(String []l){
private int num;
+
try {
private int den;
+
    File fichero = new File(".\\hola.txt");
 
 
//Definimos el constructor
+
    String linea;
Racional (String numero){
+
    PrintWriter writer;
int pos;
+
    fichero.createNewFile();
pos = numero.indexOf('/');
+
    Scanner leer = new Scanner (fichero);
if (pos==-1){
+
    writer = new PrintWriter(fichero);
System.out.println("Error "+numero+"No es racional. " +"\n Crearemos el racional 1/1");
+
    writer.print("esto es una cadena de caracteres");
this.num=1;
+
    writer.close();
this.den=1;
+
    linea = leer.nextLine();
 +
    System.out.println("he leido"+linea);
 +
 +
    } catch (FileNotFoundException e) {
 +
// TODO Auto-generated catch block
 +
    e.printStackTrace();
 
}
 
}
else{
+
    catch (IOException e){
String n;
+
e.printStackTrace();
n=numero.substring(0,pos);
+
     }
this.num=Integer.parseInt(n);
+
n=numero.substring(pos+1);
+
this.den=Integer.parseInt(n);
+
}
+
}
+
 
+
Racional(int num, int den){
+
this.num=num;
+
this.den = den;
+
}
+
Racional(int num){
+
this.num=num;
+
this.den = 1;
+
}
+
Racional(){
+
this.num=1;
+
this.den =1;
+
}
+
public void visualizar(){
+
System.out.print(this.num+"/"+this.den);
+
}
+
 
+
public String toString() {
+
return (this.num + "/" + this.den );
+
}
+
+
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;
+
}
+
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;
+
}
+
public Racional multiplicar(Racional r){
+
    Racional resultado = new Racional();
+
    resultado.den=this.den*r.den;
+
    resultado.num=this.num*r.num;
+
    return resultado;
+
}
+
public Racional dividir(Racional r){
+
    Racional resultado = new Racional();
+
    resultado.num=this.num*r.den;
+
    resultado.den=this.den*r.num;      
+
    return resultado;
+
}
+
public void simplificar(){
+
int n = mcd();
+
this.num= this.num/n;
+
this.den= this.den/n;
+
 
 
}
+
}
+
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;
+
}
+
+
 
 
 +
 
}
 
}
  
 
</source>
 
</source>
==Metodo menu==
+
=Clase Formatter=
<source lang=java>
+
*Construye un nuevo formateador.
public static int menu(){
+
*Un formateador es una cadena de caracteres con formato, es decir usando los caracteres espciales para dar formatos
int opcion;
+
*%d,%s,%c,%f,%l vistos con el  método System.out.println
      do{
+
 
        System.out.println("Menu princial");
+
El destinatario de la salida con formato es un StringBuilder la cual puede ser recuperada invocando a out() y cuyo contenido actual puede ser convertido en una cadena invocando a toString(). La localidad usada es la localidad por defecto para esta instancia de la máquina virtual de Java.  
    System.out.println("1.-Insertar Racional");
+
El constructor me permite vincular el objeto con un fichero, de modo que volque la cadena de caracteres al fichero con el método '''format()'''
System.out.println("2.-Visualizar");
+
Tiene varios constructores. analicemos el que nos vincula a un fichero
System.out.println("3.-Simplificar");
+
public Formatter(String fileName) throws FileNotFoundException
System.out.println("4.-Visualiza valor");
+
==Ligando el objeto con un fichero==
System.out.println("5.-Calculadora");
+
*Construye un nuevo formateado usando el nombre de archivo especificado.
System.out.println("6.-Salir");
+
La localidad usada es localidad por defecto para esta instancia de la máquina virtual de Java.
System.out.println("Elija una opción: ");
+
;'''fileName'''
while (leer.hasNextInt()==false){
+
:El nombre del archivo que se usará como destinatario de este formateador.
System.out.println("Solo número por favor");
+
:Si el archivo existe entonces sera truncado a un tamaño cero;
leer.nextLine();
+
:en cualquier otro caso, se creara un nuevo archivo. La salida será escrita al archivo usando almacenamiento intermedio (buffer, no escritura directa.
}
+
Este constructor puede lanzar dos tipos de excepciones
opcion=leer.nextInt();
+
;Throws SecurityException:
      }while((opcion<1)|| (opcion >6));
+
:Si existe un administrador de seguridad y niega el acceso de escritura al archivo checkWrite(fileName).
      return opcion;
+
;Throws FileNotFoundException:
//visualizo resto
+
:Si el nombre del archivo especificado no denota un archivo regular existente, modificable y si el el archivo regular no puede ser creado, o si ocurre algún otro error cuando se accesa o crea el archivo.
//Valido que haya un entero
+
==Escribiendo en el fichero==
}
+
</source>
+

Última revisión de 18:25 17 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.

Trabajar con ficheros

import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Scanner;
 
public class Fichero {
 public static void main(String []l){
 try {
     File fichero = new File(".\\hola.txt");
 
     String linea;
     PrintWriter writer;
     fichero.createNewFile();
     Scanner leer = new Scanner (fichero);
     writer = new PrintWriter(fichero);
     writer.print("esto es una cadena de caracteres");
     writer.close();
     linea = leer.nextLine();
     System.out.println("he leido"+linea);
 
     } catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
     e.printStackTrace();
		}
     catch (IOException e){
		e.printStackTrace();
    }
 
}
 
 
}

Clase Formatter

  • Construye un nuevo formateador.
  • Un formateador es una cadena de caracteres con formato, es decir usando los caracteres espciales para dar formatos
  • %d,%s,%c,%f,%l vistos con el método System.out.println

El destinatario de la salida con formato es un StringBuilder la cual puede ser recuperada invocando a out() y cuyo contenido actual puede ser convertido en una cadena invocando a toString(). La localidad usada es la localidad por defecto para esta instancia de la máquina virtual de Java. El constructor me permite vincular el objeto con un fichero, de modo que volque la cadena de caracteres al fichero con el método format() Tiene varios constructores. analicemos el que nos vincula a un fichero

public Formatter(String fileName) throws FileNotFoundException 

Ligando el objeto con un fichero

  • Construye un nuevo formateado usando el nombre de archivo especificado.
La localidad usada es localidad por defecto para esta instancia de la máquina virtual de Java.
fileName
El nombre del archivo que se usará como destinatario de este formateador.
Si el archivo existe entonces sera truncado a un tamaño cero;
en cualquier otro caso, se creara un nuevo archivo. La salida será escrita al archivo usando almacenamiento intermedio (buffer, no escritura directa.

Este constructor puede lanzar dos tipos de excepciones

Throws SecurityException
Si existe un administrador de seguridad y niega el acceso de escritura al archivo checkWrite(fileName).
Throws FileNotFoundException
Si el nombre del archivo especificado no denota un archivo regular existente, modificable y si el el archivo regular no puede ser creado, o si ocurre algún otro error cuando se accesa o crea el archivo.

Escribiendo en el fichero