Ejemplos de uso //obtener una respuesta “si” o “no” static public String siNo(String x) throws IOException{ String r=U.readLine(x+” si o no?”) .trim().toLowerCase();

Slides:



Advertisements
Presentaciones similares
Java nos ofrece System.out para escribir en pantalla, pero también tenemos System.in para leer. System.in es un objeto de una clase de java que se llama.
Advertisements

Creación y destrucción de objetos
Entendiendo la definición de clases
Tema 1. Introducción a la programación (Lenguaje java).
Archivos Contenido: Archivos de Texto Archivos de Acceso Aleatorio
Tema 7: Polimorfismo Antonio J. Sierra. Índice Introducción. Sobrecarga de métodos. Objetos como parámetros. Paso de argumentos. Devolución de objetos.
Tema 6: Clases Antonio J. Sierra.
Igor Santos Grueiro. Ahora tenemos datos y datos …
Clase Teórica No. 4 Programación IV
Programación Orientada a Objetos usando CONSTRUCTORES DESTRUCTORES.
PROGRAMACIÓN ORIENTADA A OBJETOS USANDO C++
Metodología de Programación Ayudantía 4 lelagos.ublog.cl 2008.
Java.
Arreglos de Objetos.
Detalles Generales sobre Java
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Objetos.
PROGRAMACIÓN ORIENTADA A OBJETOS SEGUNDA UNIDAD: “CLASES, OBJETOS Y MÉTODOS” IRVING YAIR SALAS CHÁVEZ ING. EN SISTEMAS COMPUTACIONALES - ITSLP.
Clase1: lectura/escritura/asignación
Programación Avanzada
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS
Clase 8: Strings Valeria Herskovic –
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS
Clase 8: Strings J.Alvarez.
Repaso/resumen lectura/escritura y asignación funciones
26-abril(J.Alvarez).
Clase 3: Funciones Valeria Herskovic –
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS
Clases y Objetos en Java
Repaso/resumen: Introducción a la Programación orientada a objetos
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS
Valeria Herskovic Clase 2: Funciones Valeria Herskovic
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS

Clase 8: Strings J.Alvarez.
IPOO 2 cuatrimestre 2017 Departamento de Ciencias e Ingeniería
Clase 8: Repaso/Resumen
IPOO 2 cuatrimestre 2017 Departamento de Ciencias e Ingeniería
Objeto de clase Fracción métodos públicos representación privada constructor Fraccion(…) asigna a procedimiento void m(…) modifica b función tipo/clase.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS
Objeto de clase Fracción métodos públicos representación privada constructor Fraccion(…) asigna a procedimiento void m(…) modifica b función tipo/clase.
Sonia Rueda Herencia y Polimorfismo
Teclado y Pantalla (Java estándar)
Herencia en C#.
Repaso/resumen: Introducción a la Programación orientada a objetos
26-abril(J.Alvarez).
Repaso/resumen: Introducción a la Programación orientada a objetos
Clase 7 Strings 28 de Marzo (N.Baloian).
Clase 8: Strings J.Alvarez.
Repaso/resumen: Introducción a la Programación orientada a objetos
Clase1: lectura/escritura/asignación
Clase 8: Strings 29-marzo (N.Baloian).
String, random y stream en java
Repaso/resumen: Introducción a la Programación orientada a objetos
Parametros multivalores
Clase 10 (Repaso/Resumen)
Problemas de Strings boolean palindrome(String x) Ej: palindrome(“reconocer”)=true boolean alfabetico(String x) Ej:
5-abril (J.Alvarez) 5-abril (J.Alvarez)
Clase1: lectura/escritura/asignación
5-abril (J.Alvarez) La Clase File Representa un archivo en forma abstracta Contiene el nombre, pero no se puede leer o escribir.
IPOO 2 cuatrimestre 2018 Departamento de Ciencias e Ingeniería
Problemas de Strings boolean palindrome(String x) Ej: palindrome(“reconocer”)=true boolean alfabetico(String x) Ej: alfabetico(“hola”)=true,
Clase 8: Strings.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS
5-abril (J.Alvarez) La Clase File Representa un archivo en forma abstracta Contiene el nombre, pero no se puede leer o escribir.
Uso de objetos de una clase
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS
Transcripción de la presentación:

Ejemplos de uso //obtener una respuesta “si” o “no” static public String siNo(String x) throws IOException{ String r=U.readLine(x+” si o no?”) .trim().toLowerCase(); return r.equals(“si”)||r.equals(“no”)) ? r : siNo(x); } //reemplazar todos los x por y en z static public String reemplazar( String x,String y,String z){ int i=z.indexOf(x); if(i<0)return z; //caso base return z.substring(0,i) + y + reemplazar(x,y,z.substring(i+x.length()));

Pregunta A) (1 punto) Escriba una función de encabezamiento static public String primero(String X,char Y) que entregue el primer String de X que está antes del carácter Y. Si Y no existe, entregar el X original. Ejemplos: primero(“Ana:María”,’:‘) entrega “Ana” primero(“:Ana:María”,’:‘) entrega “” primero(“Ana Maria”,’:’) entrega “Ana María” B) (2 puntos) Escriba una función que traduzca una palabra. Por ejemplo, traducción(“casa”,”Dicc.txt”) entrega “house”. El 2º parámetro corresponde al nombre del archivo con el diccionario. Cada línea del archivo contiene la palabra original, un punto y la traducción. Por ejemplo “casa.house”. El diccionario está ordenado alfabéticamente. Utilice la función escrita en A) para recuperar la primera palabra de la línea del diccionario La función traducción entrega “” si la palabra no está en el diccionario

Archivos //copiar archivos contando caracteres y líneas BufferedReader I=new BufferedReader( new FileReader(U.readLine(“input?”))); PrintWriter O=new PrintWriter( new FileWriter(U.readLine(“output?”)); int nc=0,int nl=0; String linea; while((linea=I.readLine())!= null){ O.println(linea); ++nl; nc+=linea.length(); } O.close(); I.close(); U.println(nl+“ líneas “+nc+” caracteres”);

Pregunta . Una empresa requiere de un sistema que mantenga actualizando el inventario de productos en bodega. Para esto usted deberá hacer un programa que consolide el inventario al final del día en función de las ventas realizadas. Para esto considere lo siguiente: Existe un archivo llamado “inventario<numero>.txt“ que contiene en cada fila un número que representa un identificador de un producto, un espacio seguido de otro número que representa la cantidad disponibles de ítems de ese producto al principio del día. El número de productos es desconocido. Ejemplo: inventario45.txt 12849843 56 75749213 657 43723 88 . Durante el día se genera un archivo llamado “<fecha del día>.reg” que contiene un registro de cada venta de productos realizadas durante el día. El archivo en cada fila contiene una venta con el siguiente formato. Identificador de la venta, un espacio, identificador del producto, un espacio y cantidad comprada. Ejemplo: 130407.reg 1 43723 2 1 333242 4 2 321 1 2 323254 3 Escriba un programa que genere un archivo llamado “inventario<numero+1>.txt” que contenga la información del inventario original descontando las ventas realizadas en el archivo de ventas. Si la cantidad de ítems de un producto después del día es cero, este no debe escribirse en el nuevo inventario. El programa debe interactuar con el usuario de la siguiente manera: Ingrese numero inventario: 45 Ingrese fecha de hoy: 130407 Se ha generado “inventario46.txt”

Uso de objetos de una clase //Fracción más lejana (del promedio) F f=new F(U.readLine(“nº/nº?”)), s=new F(0), min=new F(f), max=new F(f), cero=new F(); int n=0; while(!f.equals(cero)){ s.sumar(f); ++n; if(f.compareTo(max)>0) max.asignar(f); if(f.compareTo(min)<0) min.asignar(f); f.asignar(U.readLine(“nº/nº?”)); } s.dividir(new F(n)); //promedio U.println(“más lejana=“+ (max.resta(s).compareTo(s.resta(min))>0 ? max : min).toString() );

Objeto de clase Fracción métodos públicos representación privada constructor Fraccion(…) asigna a procedimiento void m(…) modifica b función tipo/clase f(…) resultado consulta

Clase Fraccion (F) class F{ //en archivo F.java //representacion: datos de un objeto private int a,b;//visibles en clase, no fuera //constructores: inicializan objeto public F(int x,int y){//”canónico” a=x; b=y; validar(); } public F(){a=0; b=1;}//default ctor public F(F x){a=x.a; b=x.b;}//copy ctor public F(int x){a=x; b=1;}//conversión public F(String x){asignar(x);} public F(double x){...}//si x=4.5,a=45 y b=10

Funciones: devuelven un resultado (no modifican objeto) //conversores public String toString(){return a+”/”+b;} public int toInt(){return a/b;} public double toDouble(){return (double)a/b;} //comparadores public boolean equals(F x){ return a*x.b==b*x.a; } public int compareTo(F x){ return a*x.b-b*x.a;

//funciones que devuelven un objeto de la clase //operadores binarios public F suma(F x){ return new F(a*x.b+b*x.a,b*x.b); } public F resta(F x){ return new F(a*x.b-b*x.a,b*x.b); public F mult(F x){ return new F(a*x.a,b*x.b); public F div(F x){ return new F(a*x.b,b*x.a); //operadores unarios public F inverso(){return new F(b,a);} public F simple(){ int m=U.mcd(a,b); return new F(a/m,b/m);}

Procedimientos (public void): modifican objeto //modificadores numerador(int x){a=x;} denominador(int x){b=x; validar();} //operadores unarios simplificar(){int m=U.mcd(a,b);a/=m;b/=m);} invertir(){int t=a; a=b; b=t; validar();} //operadores binarios sumar(F x){a=a*x.b+b*x.a; b*=x.b;} restar(F x){a=a*x.b-b*x.a; b*=x.b);} multiplicar(F x){a*=x.a; b*=x.b;} dividir(F x){a*=x.b; b*=x.a; validar();}

Cont... //asignación public void asignar(F x){a=x.a; b=x.b;} public void asignar(String x){ int i=x.indexOf(“/”); if(i<0){a=Integer.parseInt(x);b=1;return;} a=Integer.parseInt(x.substring(0,i)); b=Integer.parseInt(x.substring(i+1)); validar(); } //métodos internos (de servicio) private void validar(){ if(b==0) U.abortar(“denominador cero”); }}//fin class F