Java - Ejercicios resueltos de Listas 01

   
Vista:

Ejercicios resueltos de Listas 01

Publicado por burlon (14 intervenciones) el 20/03/2015 11:42:14
Realizar un programa que lea tantos números enteros como desee el usuario y los introduzca en una lista.
Muestras la lista, intercambias los números que se encuentren en la 2ª y 4ª posición, y muestras el nuevo la lista por antalla. Utiliza al menos 3 métodos: uno para introducir los datos, otro para mostrar los datos y otro para intercambiar los datos

public class intercambioNumero {

public static void introducirValores(ArrayList <Integer> listaNumeros){

Scanner teclado = new Scanner(System.in);
Integer numero;

System.out.println("Introduce un numero: ");

do {

numero = teclado.nextInt();

listaNumeros.add(numero);

System.out.println("Introduce otro numero y si quieres salir introduce uno negativo");

} while (numero >= 0);

for (int i = 0; i < listaNumeros.size(); i++) {

if (listaNumeros.get(i) < 0 ) {

listaNumeros.remove(i);

}

}

}

public static void mostrarLista(ArrayList <Integer> listaNumeros){
System.out.println("La lista contiene los siguientes números");
System.out.println(listaNumeros);
}

public static void intercambiarPosiciones(ArrayList <Integer> listaNumeros){

Integer aux;

aux = listaNumeros.get(1);
listaNumeros.set(1, listaNumeros.get(3));
listaNumeros.set(3, aux);

}

public static void main(String[] args) {

ArrayList <Integer> listaNumeros = new ArrayList <> ();
introducirValores(listaNumeros);
mostrarLista(listaNumeros);
intercambiarPosiciones(listaNumeros);
mostrarLista(listaNumeros);
}

}
----------------------------------------------------------------------

Escribe un programa que contenga un método que acepte como parámetro una lista de números enteros mayores
que 0, pudiendo contener elementos duplicados. Este método debe sustituir cada valor repetido por 0. Para terminar, realiza un método muestre el array modificado. Nota: Necesitarás otro método para rellenar la lista de enteros. Le irá
pidiendo números al usuario hasta que este introduzca un número negativo.
Ejemplo: 2 7 8 4 5 8 7 1 2 0 0 4 5 0 0 1

public class SustituirPorCeros {

public static void solicitarNumeros(ArrayList <Integer> listaNumeros) {
Integer numero;
boolean contador = true;
String salir = "Si";
Scanner teclado = new Scanner(System.in);

System.out.println("------Lista de numeros Enteros----------");

do {

if (contador == true) {

System.out.println("Introduce un numero mayor que 0 ");
numero = teclado.nextInt();

if (numero <=0) {

System.out.println("El numero no es correcto!!!");

}else{

listaNumeros.add(numero);
contador = false;

}
}

System.out.println("Introduce otro numero: ");

numero = teclado.nextInt();

if (numero <=0) {

System.out.println("El numero no es correcto!!!");

}else{

listaNumeros.add(numero);
contador = false;

}
System.out.println("Si quieres dejar de meter numeros escribe: \"Si\"");
salir = teclado.next();

} while (salir.equalsIgnoreCase("No"));

//System.out.println(listaNumeros);

}

public static void rellenarDeCeros(ArrayList <Integer> listaNumeros) {

ArrayList listaCopia = (ArrayList) listaNumeros.clone();

for (int i = 0; i < listaNumeros.size(); i++) {

for (int j = 0; j < listaCopia.size(); j++) {

if ((i != j) && (listaNumeros.get(i) == listaCopia.get(j))) {

listaNumeros.set(i, 0);
listaNumeros.set(j, 0);

}

}
}

//System.out.println(listaNumeros);

}

public static void mostrarListas(ArrayList <Integer> listaNumeros) {

System.out.println("------Lista de numeros Enteros----------");

for (int i = 0; i < listaNumeros.size(); i++) {

System.out.print(" " + listaNumeros.get(i) + " ");

}

System.out.println("");

}
public static void main(String[] args) {

ArrayList <Integer> listaNumeros = new ArrayList <> ();
solicitarNumeros(listaNumeros);
mostrarListas(listaNumeros);
rellenarDeCeros(listaNumeros);
mostrarListas(listaNumeros);
}

}
----------------------------------------------------------
Diseña un programa que almacene en una lista de listas de enteros (2 dimensiones) las temperaturas medias de
un mes que introduzca un usuario. Para hacerlo más sencillo vamos a suponer que el mes tiene 28 días y está formado por 4 semanas de 7 días. Mostrar un menú que nos permita:
1. Rellenar las temperaturas.
2. Mostrar las temperaturas.
3. Visualizar la temperatura media del mes.
4. Día o días más calurosos del mes.
Ejemplo: El día o días más calurosos fueron:
1. El Jueves de la Semana 3 con 40 grados.
2. El Sábado de la Semana 4 con 40 grados

public class ejercicioObligatorios06 {

public static void rellenarDias (String [] dias) {

dias[0] = "Lunes";
dias[1] = "Martes";
dias[2] = "Miercoles";
dias[3] = "Jueves";
dias[4] = "Viernes";
dias[5] = "Sabado";
dias[6] = "Domingo";

}

public static void rellenarMes(ArrayList < ArrayList < Integer > > mes , String [] dias) {

Scanner teclado = new Scanner(System.in);

Integer semana = 4;

Integer temperatura;

System.out.println("Introduce la temperatura para el dia");

for (int i = 0; i < semana; i++) {

for (int j = 0; j < dias.length; j++) {

System.out.println("Para la Semana " + i + " El " + dias[j] + " hizo una temperatura de: ");
temperatura = teclado.nextInt();
mes.add(new ArrayList<Integer>());
mes.get(i).add(temperatura);

}

}

//System.out.println(mes);

}

public static void mostrarMes(ArrayList < ArrayList < Integer > > mes , String [] dias) {

for (int i = 0; i < mes.size(); i++) {

for (int j = 0; j < mes.get(i).size(); j++) {


System.out.println("Para el dia " + dias[j] + " de la semana " + i + " hizo una temperatura de: " + mes.get(i).get(j));


}

}

}

public static void calcularMedia(ArrayList < ArrayList < Integer > > mes , String [] dias) {

double media =0;
Integer suma = 0;
Integer contador =0;
for (int i = 0; i < mes.size(); i++) {

for (int j = 0; j < mes.get(i).size(); j++) {


suma = suma + mes.get(i).get(j);
contador++;

}

}

media = suma / contador;

System.out.println("La temperatura Media es " + media + " ºc");

}

public static void diasMasCalurosos(ArrayList < ArrayList < Integer > > mes , String [] dias) {
Integer mayor;
int se;
String di;
mayor = mes.get(0).get(0);
di = dias[0];
se = 0;

for (int i = 0; i < mes.size(); i++) {

for (int j = 0; j < mes.get(i).size(); j++) {

if (mes.get(i).get(j) > mayor) {

mayor = mes.get(i).get(j);
di = dias[j];
se = i;
}


}

}

System.out.println(" El " + di + " de la semana " + se + " es el mas caluroso: " + mayor);

}
public static void main(String[] args) {

String [] dias = new String[7];
rellenarDias(dias);
ArrayList < ArrayList < Integer > > mes = new ArrayList < >();
rellenarMes(mes, dias);
mostrarMes(mes, dias);
calcularMedia(mes, dias);
diasMasCalurosos(mes, dias);
}

}
-------------------------------------------------------------------

Diseña un programa que almacene en una lista de
objetos de la clase ENERO las temperaturas medias del mes de
Enero (31 días) que introduzca un usuario. Cada objeto tendrá los
siguientes atributos:
1. Numero correspondiente al día del mes
2. Día de la semana
3. Temperatura media
Mostrar un menú que nos permita:
1. Rellenar las temperaturas.
2. Mostrar las temperaturas.
3. Visualizar la temperatura media del mes.
4. Día o días más calurosos del mes. Ejemplo: El día o días más calurosos fueron:
1. El Jueves de la Semana 3 con 40 grados.
2. El Sábado de la Semana 4 con 40 grados.

public class Enero {

Integer numeroDiaMes;
String diaSemana;
Integer temperaturaMedia;

public Enero() {

rellenarDia();
rellenarDiaSemana();
rellenarTemperaturaMedia();

}

public void rellenarDia(){

Scanner teclado = new Scanner(System.in);

System.out.println("Dia del mes: ");

numeroDiaMes = teclado.nextInt();
}

public Integer mostrarDia(){

return numeroDiaMes;
}

public void rellenarDiaSemana(){

Scanner teclado = new Scanner(System.in);

System.out.println("Dia de la semana: ");

diaSemana = teclado.nextLine();
}

public String mostrarDiaSemana(){

return diaSemana;
}

public void rellenarTemperaturaMedia(){

Scanner teclado = new Scanner(System.in);

System.out.println("Temperatura Media: ");

temperaturaMedia = teclado.nextInt();
}

public Integer mostrarTemperaturaMedia(){

return temperaturaMedia;
}

public static void mostrarTemperaturas(ArrayList <Enero> lista) {

System.out.println("---------------El Mes de Enero Hizo-----------");

for (int i = 0; i < lista.size(); i++) {

System.out.println("Para el " + lista.get(i).mostrarDiaSemana() + " dia " + lista.get(i).mostrarDia() + " Hizo una temperatura de " + lista.get(i).mostrarTemperaturaMedia());

}
}

public static void temperaturaMedia(ArrayList <Enero> lista) {

Integer media;
Integer suma = 0;
Integer contador = 0;
for (int i = 0; i < lista.size(); i++) {

suma = suma + lista.get(i).mostrarTemperaturaMedia();
contador++;


}

media = suma / contador;

System.out.println("La Temperatura media es de: " + media);

}

public static void diasMasCaluroso(ArrayList <Enero> lista) {

Integer caluroso = 0;

for (int i = 0; i < lista.size(); i++) {

if (lista.get(i).mostrarTemperaturaMedia() > caluroso) {

caluroso = lista.get(i).mostrarTemperaturaMedia();

}

}

System.out.println("---------Los dias mas calurosos son------------");

for (int i = 0; i < lista.size(); i++) {



if (caluroso == lista.get(i).mostrarTemperaturaMedia()) {

System.out.println("Para el " + lista.get(i).mostrarDiaSemana() + " dia " + lista.get(i).mostrarDia() + " Hizo una temperatura de " + lista.get(i).mostrarTemperaturaMedia());


}

}

}

public static void main(String[] args) {

ArrayList <Enero> lista = new ArrayList<>(31);
ArrayList <Enero> mostrarCaluroso = new ArrayList<>();


Scanner teclado = new Scanner(System.in);

String respuesta;

do {

System.err.println("Datos del dia: ");
lista.add(new Enero());
System.out.println("Desea introducir otro dia [SI / NO]");
respuesta = teclado.nextLine();

} while (respuesta.equalsIgnoreCase("Si"));

mostrarTemperaturas(lista);
temperaturaMedia(lista);
diasMasCaluroso(lista);
}

}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder