Desarrollar un programa que simule un pluviómetro en el que se van registrando las precipitaciones a lo largo del año. En cualquier momento, se le pueden pedir las medias de un mes concreto o del año completo.
Utilizar constantes para especificar el mes.
Por último, crearemos una clase Actividad8 donde instanciaremos el pluviómetro, registraremos algunas precipitaciones para los distintos meses y mostraremos las medias de precipitación de todos los meses y del año.
Clase Ejercicio8
Cita:
Clase mesespublic class Ejercicio8 {
public static void main(String args[]){
Pluviometro p=new Pluviometro();
// Código para insertar datos de forma aleatoria
String[] meses={Meses.ENERO, Meses.FEBRERO, Meses.MARZO, Meses.ABRIL, Meses.MAYO, Meses.JUNIO,Meses.JULIO, Meses.AGOSTO, Meses.SEPTIEMBRE,Meses.OCTUBRE, Meses.NOVIEMBRE, Meses.DICIEMBRE};
int mes;
int litros;
for(int i=0; i<50; i++) {
mes=(Integer.valueOf(Double.toString(Math.random() ).substring(2,4))%12);
litros=Integer.valueOf(Double.toString(Math.random ()).substring(2,4));
p.putPrecipitacion(meses[mes], litros);
} // FIN de generación aleatoria
// Visualización de datos
for(int i=0; i<12; i++) {
System.out.println(meses + ": " + p.getPrecipitaciones(meses)
+ " Total mensual: " + p.totalMes(meses)
+ " Media diaria: " + p.mediaDiaria(meses));
}
System.out.println("-------------------------------------------");
//System.out.println("Total anual: " + p.totalAnual()
// + " Media mensual: " + p.mediaMensual());
}
}
public static void main(String args[]){
Pluviometro p=new Pluviometro();
// Código para insertar datos de forma aleatoria
String[] meses={Meses.ENERO, Meses.FEBRERO, Meses.MARZO, Meses.ABRIL, Meses.MAYO, Meses.JUNIO,Meses.JULIO, Meses.AGOSTO, Meses.SEPTIEMBRE,Meses.OCTUBRE, Meses.NOVIEMBRE, Meses.DICIEMBRE};
int mes;
int litros;
for(int i=0; i<50; i++) {
mes=(Integer.valueOf(Double.toString(Math.random() ).substring(2,4))%12);
litros=Integer.valueOf(Double.toString(Math.random ()).substring(2,4));
p.putPrecipitacion(meses[mes], litros);
} // FIN de generación aleatoria
// Visualización de datos
for(int i=0; i<12; i++) {
System.out.println(meses + ": " + p.getPrecipitaciones(meses)
+ " Total mensual: " + p.totalMes(meses)
+ " Media diaria: " + p.mediaDiaria(meses));
}
System.out.println("-------------------------------------------");
//System.out.println("Total anual: " + p.totalAnual()
// + " Media mensual: " + p.mediaMensual());
}
}
Cita:
clase pluviometropublic interface Meses {
public static final String ENERO="ENERO";
public static final String FEBRERO="FEBRERO";
public static final String MARZO="MARZO";
public static final String ABRIL="ABRIL";
public static final String MAYO="MAYO";
public static final String JUNIO="JUNIO";
public static final String JULIO="JULIO";
public static final String AGOSTO="AGOSTO";
public static final String SEPTIEMBRE="SEPTIEMBRE";
public static final String OCTUBRE="OCTUBRE";
public static final String NOVIEMBRE="NOVIEMBRE";
public static final String DICIEMBRE="DICIEMBRE";
}
public static final String ENERO="ENERO";
public static final String FEBRERO="FEBRERO";
public static final String MARZO="MARZO";
public static final String ABRIL="ABRIL";
public static final String MAYO="MAYO";
public static final String JUNIO="JUNIO";
public static final String JULIO="JULIO";
public static final String AGOSTO="AGOSTO";
public static final String SEPTIEMBRE="SEPTIEMBRE";
public static final String OCTUBRE="OCTUBRE";
public static final String NOVIEMBRE="NOVIEMBRE";
public static final String DICIEMBRE="DICIEMBRE";
}
Cita:
Cita:
mandadme aqui una posible solucion Gracias import java.util.HashMap;
import java.util.LinkedList;
public class Pluviometro {
// Atributos de la clase
private HashMap aljibe;
LinkedList precipitaciones=new LinkedList();
// Constructor
public Pluviometro() {
aljibe=new HashMap();
aljibe.put(Meses.ENERO, new Probeta());
aljibe.put(Meses.FEBRERO, new Probeta());
aljibe.put(Meses.MARZO, new Probeta());
aljibe.put(Meses.ABRIL, new Probeta());
aljibe.put(Meses.MAYO, new Probeta());
aljibe.put(Meses.JUNIO, new Probeta());
aljibe.put(Meses.JULIO, new Probeta());
aljibe.put(Meses.AGOSTO, new Probeta());
aljibe.put(Meses.SEPTIEMBRE, new Probeta());
aljibe.put(Meses.OCTUBRE, new Probeta());
aljibe.put(Meses.NOVIEMBRE, new Probeta());
aljibe.put(Meses.DICIEMBRE, new Probeta());
}
// Métodos
protected void putPrecipitacion(String m,int litros) {
precipitaciones.add(litros,m);
}
protected String getPrecipitaciones(String m) {
String s="";
for(int i=0; i<=100000; i++){
s+=precipitaciones.get(i) + " ";
}
return s;
}
protected int totalMes(String m) {
int litros=0;
for(int i=0; i<=30; i++){
// litros=litros+precipitaciones.get(i);
// litros=precipitaciones.get(i) +litros;
}
return litros;
}
protected int mediaDiaria(String m) {
return Math.round(totalMes(m)/30);
}
protected int mediaMensual(String m){
return 0;
}
}
import java.util.LinkedList;
public class Pluviometro {
// Atributos de la clase
private HashMap aljibe;
LinkedList precipitaciones=new LinkedList();
// Constructor
public Pluviometro() {
aljibe=new HashMap();
aljibe.put(Meses.ENERO, new Probeta());
aljibe.put(Meses.FEBRERO, new Probeta());
aljibe.put(Meses.MARZO, new Probeta());
aljibe.put(Meses.ABRIL, new Probeta());
aljibe.put(Meses.MAYO, new Probeta());
aljibe.put(Meses.JUNIO, new Probeta());
aljibe.put(Meses.JULIO, new Probeta());
aljibe.put(Meses.AGOSTO, new Probeta());
aljibe.put(Meses.SEPTIEMBRE, new Probeta());
aljibe.put(Meses.OCTUBRE, new Probeta());
aljibe.put(Meses.NOVIEMBRE, new Probeta());
aljibe.put(Meses.DICIEMBRE, new Probeta());
}
// Métodos
protected void putPrecipitacion(String m,int litros) {
precipitaciones.add(litros,m);
}
protected String getPrecipitaciones(String m) {
String s="";
for(int i=0; i<=100000; i++){
s+=precipitaciones.get(i) + " ";
}
return s;
}
protected int totalMes(String m) {
int litros=0;
for(int i=0; i<=30; i++){
// litros=litros+precipitaciones.get(i);
// litros=precipitaciones.get(i) +litros;
}
return litros;
}
protected int mediaDiaria(String m) {
return Math.round(totalMes(m)/30);
}
protected int mediaMensual(String m){
return 0;
}
}