Clase14(Repaso).ppt
===================
Repaso/resumen: Introduccin a la Programacin orientada a objetos
Strings
Archivos
Clases y objetos
Herencia
Ventanas
Dibujos
Grficos



//obtener una respuesta “si” o “no”
static public String siOno(String x){
String r=U.readLine(x+” si o no?”)
.trim().toLowerCase();
return r.equals(“si”)||r.equals(“no”)) ?
r : siOno(x);
}
//invierte string. Ej:inverso(“roma”)=“amor
static public String inverso(String x){
if(x.length()==0) return “”;
return inverso(x.substring(1))+x.charAt(0);
}
//capicua: capicua(“reconocer”)=true
static public boolean capicua(String x){
return x.equals(inverso(x));
}


Archivos de texto
import java.io.*;
class CopiarArchivos{
static public void main(String[]args)throws IOException{
BR I=new BR(new FR(U.readLine(“input?”)));
PW O=new PW(new FW(U.readLine(“output?”));
int nc=0, 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”);
}}
Nota. ¿Sin usar clase U?
BR kb=new BR(new InputStreamReader(System.in)));
System.out.print(“input?”);
String linea=kb.readLine();


Objeto de clase Fraccin
consulta
resultado
función
tipo/clase f(…)
b
modifica

procedimiento
void m(…)
a
asigna
constructor
Fraccion(…)
representacin
privada
mtodos pblicos



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() );















//operandos y operacin
private double op1,op2; private char op;
public void actionPerformed(ActionEvent x){ //obtener botn
Button b=(Button)x.getSource();
//obtener primer caracter de texto del botn char c=b.getLabel().charAt(0); //atender boton (y actualizar visor)
String s;//nuevo contenido de visor switch(c){ case 'Q': System.exit(0); case 'C': s=""; break; case 'S': s="-"; break; case '.': s=visor.getText()+"."; break; default: s=visor.getText()+c; break;//dgitos

case '+' : case '-': case '*': case '/':
//guardar primer operando y operacion op1=Double.parseDouble(visor.getText());
op=c; s=“”; break; case '=':
//realizar operación entre operandos op2=Double.parseDouble(visor.getText()); switch(op){ case '+': op1+=op2; break; case '-': op1-=op2; break; case '*': op1*=op2; break; case '/': op1/=op2; break; } s=""+op1; break; }
//actualizar visor visor.setText(s); }}