Usuario:ManuelRomero/clasesJava
De WikiEducator
< Usuario:ManuelRomero
Revisión a fecha de 23:40 4 abr 2012; ManuelRomero (Discusión | contribuciones)
Contenido
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. |
Clase Recional
public class Racional { //Defino atributos private int num; private int den; //Definimos el constructor 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); } } 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; } }
Metodo principal
import java.util.Scanner; public class Principal { /** * @param args */ static Scanner leer = new Scanner(System.in); static Racional r1 =null; /**visualice opciones *recoger la opción seleccionada *retornar dicho valor validado */operación 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(); } opcion=leer.nextInt(); }while((opcion<1)|| (opcion >6)); //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){ case 1: System.out.println("Inserta el racional a/b"); num=leer.nextLine(); r1= new Racional(num); break; case 2: if (r1==null)operación 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: System.out.println("Solicitaré una operación"); break; case 6: System.out.println("Fin de programa"); break; } } 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