public String cadena; package figura; public String[] datos; public class Circulo extends Figura public static void leeDatos(String {double radio; nombreArchivo ) throws FileNotFoundException, public Circulo(double radio) IOException { this.radio = radio; } { public double area() String cadena; {return radio*radio*3.1416; } int i=0; public String toString(){ String[] datos = {}; return this.getClass().getName() + " radio = "+ FileReader fr = new radio+ " area = "+ area();} FileReader(nombreArchivo); } BufferedReader bandeja = new package figura; BufferedReader(fr); public class Triangulo extends Figura while((cadena = { bandeja.readLine())!=null) // null = fin del archivo } { datos = new String[11]; datos[i]= cadena; String[] parts = {}; parts = cadena.split(";"); String trabajo = parts[0]; String amor = parts[1]; // System.out.println(i+ ") "+ trabajo); i++; } fr.close() } package pruebaacumulador; public static void main(String[] args) throws public class PruebaAcumulador { IOException { public static void main(String[] args) leeDatos("horoscopo.csv"); { Acumulador objeto = new Acumulador(25); } objeto.incremento(12); } System.out.println(objeto.daValor()); } } package figura; package pruebaacumulador; public abstract class Figura public class Acumulador implements { Modification public static void main(String[] args) { { public int valor, a; Rectangulo r = new Rectangulo(10.0,20.0); public Acumulador (int i) System.out.println(r); {valor = i; Circulo c= new Circulo(10.0); } System.out.println(c); public int daValor() }} { return valor; } package figura; public void incremento(int a) public class Rectangulo extends Figura { valor +=a; } {double ancho, altura; } public Rectangulo (double ancho, double altura) { this.ancho = ancho; package pruebaacumulador; this.altura = altura; } public interface Modification public double area() { {return ancho*altura; } public void incremento(int a) ; public String toString() { } return this.getClass().getName() + " ancho = "+ ancho+ " altura = " + altura +" area = "+ area();