Professional Documents
Culture Documents
Programa 1.
b)
Programa 2.
SOLUCIN
numerodecoches[r] = 23;
System.out.print("El nmero de coches en la hora "+r+" fue "+ numerodecoches[r]);
}
}
Nota:
Recordar
numerodecoches
que
=
cuando
new
declaramos
int[24];,
los
un
array
elementos
de
del
24
array
elementos
que
se
comoint[
crean
son
b = 4;
r = a / b;
numerodecoches[r] = 23;
System.out.print("El nmero de coches en la hora "+r+" fue "+ numerodecoches[r]);
}
}
38
39
40
41
42 }
43
44
45
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42 }
43
44
45
double x[],y[],pe;
int n,i;
do{
System.out.print("Numero de elementos de los vectores : ");
n=in.nextInt();
}while(n<=0);
x=new double[n];
y=new double[n];
System.out.println("Ingreso de datos del primer vector");
for(i=0; i<n;i++)
{
System.out.print("x["+i+"]: ");
x[i]=in.nextDouble();
}
System.out.println("Ingreso de datos del segundo vector");
for(i=0; i<n;i++)
{
System.out.print("y["+i+"]: ");
y[i]=in.nextDouble();
}
System.out.println("Elementos del primer vector");
for(i=0; i<n;i++)
System.out.println("x["+i+"]: "+x[i]);
System.out.println("Elementos del Segundo vector");
for(i=0; i<n;i++)
System.out.println("y["+i+"]: "+y[i]);
pe=0;
for(i=0;i<n;i++)
pe=pe+x[i]*y[i];
System.out.println("El Producto escalar es : " +pe);
46
47
48
49
8. Programa para ingresar n elementos en un arreglo y luego reportarlo en la
pantalla. Adems ingresar un nmero y la posicin donde desea insertarlo e
insertarlo en el arreglo, reportar el arreglo modificado.
9. Programa para ingresar n elementos en un arreglo y luego reportarlo en la
pantalla. Adems reportarlo ordenado ascendentemente.
10. 1) Crea un array de 10 posiciones de nmeros con valores pedidos por teclado. Muestra por
consola el indice y el valor al que corresponde. Haz dos mtodos, uno para rellenar valores
y otro para mostrar.
1 import javax.swing.JOptionPane;
2 public class arrayApp {
3
4
5
6
//Esto es opcional
8
9
1
0
11
rellenarArray(num);
1
2
1
3
1
4
mostrarArray(num);
}
public static void rellenarArray(int lista[]){
for(int i=0;i<lista.length;i++){
String texto=JOptionPane.showInputDialog("Introduce un
5
1
nmero");
lista[i]=Integer.parseInt(texto);
1
7
1
8
1
9
2
0
2
1
2
2
3
2 "+lista[i]);
4
2
}
}
5}
2
6
2
7
2
8
2
9
11. 2) Crea un array de nmeros donde le indicamos por teclado el tamao del array,
rellenaremos el array con nmeros aleatorios entre 0 y 9, al final muestra por pantalla el
valor de cada posicin y la suma de todos los valores. Haz un mtodo para rellenar el array
(que tenga como parmetros los nmeros entre los que tenga que generar), para mostrar el
contenido y la suma del array y un mtodo privado para generar nmero aleatorio (lo
puedes usar para otros ejercicios).
1 import javax.swing.JOptionPane;
2 public class arrayNumAleatoriosApp {
3
4
5
6
//Indicamos el tamao
String texto=JOptionPane.showInputDialog("Introduce un
8 tamao");
9
1
0
11
1
2
1
3
1
4
rellenarNumAleatorioArray(num, 0, 9);
1
5
1
6
mostrarArray(num);
}
1
7
1 int b){
8
for(int i=0;i<lista.length;i++){
lista[i]=((int)Math.floor(Math.random()*(a-b)+b));
2
0
2
1
2
}
}
public static void mostrarArray(int lista[]){
for(int i=0;i<lista.length;i++){
2
3 "+lista[i]);
2
4
2}
5
2
6
2
7
2
8
12. 3) Crea un array de nmeros de un tamao pasado por teclado, el array contendr nmeros
aleatorios primos entre los nmeros deseados, por ltimo nos indicar cual es el mayor de
todos.
Haz un mtodo para comprobar que el nmero aleatorio es primo, puedes hacer todos lo
mtodos que necesites.
1 import javax.swing.JOptionPane;
2
3 public class PrimoArrayApp {
4
5
6
7
//Indicamos el tamao
String texto=JOptionPane.showInputDialog("Introduce un
9 tamao");
1
0
11
rellenarNumPrimosAleatorioArray(num, 1, 3);
2
1
3
1
4
1
5
mostrarArray(num);
}
public static void rellenarNumPrimosAleatorioArray(int lista[], int
a, int b){
int i=0;
6
1
7
1 un primo
while(i<lista.length){
8
1
int num=((int)Math.floor(Math.random()*(a-b)+b));
if (esPrimo(num)){
lista[i]=num;
i++;
1
2
2
2
}
}
private static boolean esPrimo (int num){
3
2
4
2
5
2
//declaracion
int prueba;
int contador=0;
8 numero original
2
prueba=(int)Math.sqrt(num);
9
3
0
if (num%prueba==0){
contador+=1;
3
4
3
5
3
6
3 "+lista[i]);
7
3
8}
3
9
4
0
4
1
4
2
4
3
4
4
4
5
4
6
4
}
}
7
4
8
4
9
5
0
5
1
5
2
5
3
5
4
5
5
5
6
5
7
13. 4) Crea dos arrays de nmeros con una posicin pasado por teclado.
Uno de ellos estar rellenado con nmeros aleatorios y el otro apuntara al array anterior,
despus crea un nuevo array con el primer array (usa de nuevo new con el primer array)
con el mismo tamao que se ha pasado por teclado, rellenalo de nuevo con nmeros
aleatorios.
Despus, crea un mtodo que tenga como parmetros, los dos arrays y devuelva uno
nuevo con la multiplicacin de la posicin 0 del array1 con el del array2 y as
sucesivamente. Por ltimo, muestra el contenido de cada array.
Llama al final al recolector de basura.
1 import javax.swing.JOptionPane;
2 public class MultiplicacionApp {
3
4
5
6
//Indicamos el tamao
String texto=JOptionPane.showInputDialog("Introduce un
8 tamao");
9
int tamanio=Integer.parseInt(texto);
1
0
11
int array2[];
2
1
//Rellenamos el array1
1
4
array2=array1;
5
1
6
1
7
1
8
1
9
2
1
2
2
2
3
System.out.println("Array1");
mostrarArray(array1);
4
2
System.out.println("Array2");
mostrarArray(array2);
2
6
System.out.println("Array3");
mostrarArray(array3);
7
2
System.gc();
2
9
3
0
3
1
3
}
public static void rellenarNumAleatorioArray(int lista[], int a,
int b){
for(int i=0;i<lista.length;i++){
//Generamos un nmero entre los parametros pasados
lista[i]=((int)Math.floor(Math.random()*(a-b)+b));
2
3
3
4
for(int i=0;i<lista.length;i++){
5
3
6
3
7
3
8
}
}
public static int[] multiplicador(int array1[], int array2[]){
int array3[]=new int[array1.length];
for(int i=0;i<array1.length;i++){
array3[i]=array1[i]*array2[i];
4
0
return array3;
1
4 }
2
4
3
4
4
4
5
4
6
4
7
4
8
4
9
5
0
5
1
5
2
5
3
5
4
5
5
5
6
5
7
5
8
5
9
6
0
6
1
6
2
6
3
6
4
14. 5) Crea un array de nmeros de un tamao pasado por teclado, el array contendr nmeros
aleatorios entre 1 y 300 y mostrar aquellos nmeros que acaben en un dgito que nosotros
le indiquemos por teclado (debes controlar que se introduce un numero correcto), estos
deben guardarse en un nuevo array.
Por ejemplo, en un array de 10 posiciones e indicamos mostrar los nmeros acabados en 5,
podra salir 155, 25, etc.
1 import javax.swing.JOptionPane;
2 public class NumTerminadosEnApp {
3
4
5
6
//Indicamos el tamao
String texto=JOptionPane.showInputDialog("Introduce un
8 tamao");
9
1
0
11
int ultimoDigito;
do{
1
2 0 y 9");
1
ultimoDigito=Integer.parseInt(texto);
1
4
//rellenamos el array
rellenarNumAleatorioArray(num, 1, 300);
5
1
6
1
7
1
8
1
mostrarArrayTerminadosEn(num);
mostrarArrayTerminadosEn(terminadosEn);
9
2
0
1 int b){
for(int i=0;i<lista.length;i++){
2
2
lista[i]=((int)Math.floor(Math.random()*(a-b)+b));
3
2
}
}
4
2
for(int i=0;i<lista.length;i++){
if(lista[i]!=0){
2
7
2
2
9
3
0
3
1
3 pedido
2
3
3
int numeroFinal=0;
3
4
3
5
/*
*/
numeroFinal=num[i]-(num[i]/10*10);
3
8
if (numeroFinal==ultimo_numero){
terminadosEn[i]=num[i];
4
1
return terminadosEn;
4
2
4
3 }
4
4
4
5
4
6
4
7
4
8
4
9
5
0
5
1
5
2
5
3
5
4
5
5
5
6
5
7
5
8
5
9
6
0
6
1
6
2
6
3
6
4
6
5
6
6
6
7
Letra
Posicion
Letra
10
11
12
13
14
15
16
17
18
19
20
21
22
1 import javax.swing.JOptionPane;
2 public class LetraDNIApp {
3
4
5
6
8
9
//Insertamos el DNI
0 DNI");
1
1
int dni=Integer.parseInt(texto);
1
2
//Sacamos el resto
int res=dni%DIVISOR;
1
3
1
4
//Invocamos el metodo
char letra=letraNIF(res);
1
5
1
6
1
7
1
8
}
public static char letraNIF(int res){
1
9
2
0
2
1
2
2
2
3
}
2
4 }
2
5
2
6
2
7
2
8
2
9
3
0
3
1
3
2
3
3
7) Crea un array de nmeros y otro de String de 10 posiciones donde
insertaremos notas entre 0 y 10 (debemos controlar que inserte una nota
valida), pudiendo ser decimal la nota en el array de nmeros, en el de
Strings se insertaran los nombres de los alumnos.
Despus, crearemos un array de String donde insertaremos el resultado de
la nota con palabras.
Si la nota esta entre 0 y 4,99 , sera un suspenso
Si esta entre 5 y 6,99 , sera un bien.
Si esta entre 7 y 8,99 sera un notable.
Si esta entre 9 y 10 sera un sobresaliente.
Muestra por pantalla, el alumno su nota y su resultado en palabras. Crea los
mtodos que creas conveniente.
1 import javax.swing.JOptionPane;
2 public class NotasApp {
3
4
5
6
8
9
1
0
1
1
1
2
1
3
1
4
String resultado[]=aadeResultado(notas);
1
5
//Mostramos el resultado
1
6
1
7
1
8
1
9
for(int i=0;i<notas.length;i++){
double nota;
//Validamos la nota
2
3
2
4
do{
String texto=JOptionPane.showInputDialog("Introduce una nota
del alumno "+(i+1));
2
5
nota=Double.parseDouble(texto);
System.out.println(nota<=0 || nota>=10);
2
6
}while(nota<=0 || nota>=10);
2
7
2
8
notas[i]=nota;
}
}
2
9
3
3
3
4
String resultado[]=new String[notas.length];
3
5
for(int i=0;i<notas.length;i++){
3
6
3
7
case 1:
3
8
case 2:
3
9
case 4:
case 3:
resultado[i]="Suspenso";
4
0
break;
case 5:
4
1
case 6:
4
2
resultado[i]="Bien";
break;
4
3
case 7:
4
4
case 8:
resultado[i]="Notable";
4
5
break;
case 9:
4
6
case 10:
4
7
resultado[i]="Sobresaliente";
break;
4
8
}
}
4
9
return resultado;
5
0
5
1
}
}
5
2
5
3
5
4
5
5
5
6
5
7
5
8
5
9
6
0
6
1
6
2
6
3
6
4
6
5
6
6
6
7
6
8
6
9
7
0
7
1
7
2
7
3
7
4
8) Crea una aplicacin que pida un numero por teclado y despus
comprobaremos si el numero introducido es capicua, es decir, que se lee
igual sin importar la direccin. Por ejemplo, si introducimos 30303 es
capicua, si introducimos 30430 no es capicua. Piensa como puedes dar la
vuelta al nmero. Una forma de pasar un nmero a un array es esta
Character.getNumericValue(cadena.charAt(posicion)).
1 import java.util.Arrays;
2 import javax.swing.JOptionPane;
3 public class CapicuaApp {
4
5
6
7
8
9
1
0
1
1
1
2
1
3
//Introducimos un numero
String numero=JOptionPane.showInputDialog("Introduce un
nmero");
/*
* Aprovechamos el String para averiguar la longitud del numero,
* para crear un array compatible, y para dividirlo digitos
*/
int digitos[]=convierteNumeroAArray(numero, numero.length());
1
//Invocamos el metodo, segun el resultado mostramos un mensaje u
4 otro
1
5
if (EsCapicua(digitos)){
1
6
}else{
7
1
8
1
9
2
0
2
1
for(int i=0;i<digitos.length;i++){
2
2
digitos[i]=Character.getNumericValue(numero.charAt(i));
}
2
3
return digitos;
2
4
2
5
2
6
2
7
2
8
2
9
3
0
3
1
3
2
3
3
3
4
/*
* Asignamos los valores al nuevo array lo hacemos aadiendo
* los ultimos valores del primer array, al principio del nuevo array
* ,es decir, le damos la vuelta al array
*/
for (int i=0, j=1;j<=lista.length;i++, j++){
listaprueba[i]=lista[lista.length-j];
}
3
5
3
6
return true;
}
3
7
3
8
3
9 }
4
0
4
1
4
2
4
3
4
4
4
5
4
6
4
7
4
8
4
9
5
0
5
1
5
2
5
3
5
4
5
5
5
return false;
6
9) Crea dos arrays multidimensionales de 23 y rellenalos como quieras
(nmeros aleatorios, por teclado o definido al crear el array).
Haz un mtodo que sume los arrays multidimensionales, es decir, la
posicin 0, 0 del array1 con la posicin del array2 y as sucesivamente, este
metodo no debe devolver nada, haciendo que deba pasarse el array
multidimensional de suma como parmetro. Muestra el contenido de cada
array multidimensional.
/**
* @param args
*/
7
8
1
0
1
1
1
2
1
3
rellenarArrays(tabla2, 1, 200);
1
4
1
5
1
6
1
7
imprimirTabla(tabla1);
1
8
1
System.out.println("Array1 ");
System.out.println("Array2");
imprimirTabla(tabla2);
9
2
0
2
1
2
2
2
3
for(int j=0;j<tabla[0].length;j++){
2
4
2
5
2
6
2
7
tabla[i][j]=((int)Math.floor(Math.random()*(a-b)+b));
}
}
2
8
2
9
}
System.out.println("");
3
0
3
1
3
2
System.out.println("");
3
5
3
6
3
7
3
8
sumamatrices[i][j]=tabla1[i][j]+tabla2[i][j];
System.out.println("");
}
return sumamatrices;
3
9
4
}
0
4
1
4
2
4
3
4
4
4
5
4
6
4
7
4
8
4
9
5
0
5
1
5
2
5
3
5
4
5
5
5
6
5
7
5
8
5
9
10) Queremos realizar una encuesta a 10 personas, en esta encuesta
indicaremos el sexo (1=masculino, 2=femenino), si trabaja (1=si trabaja,
2= no trabaja) y su sueldo (si tiene un trabajo, sino sera un cero) estar
entre 600 y 2000 (valor entero). Los valores pueden ser generados
aleatoriamente. Calcula y muestra lo siguiente:
Porcentaje de hombres (tengan o no trabajo).
Porcentaje de mujeres (tengan o no trabajo).
Porcentaje de hombres que trabajan.
Porcentaje de mujeres que trabajan.
El sueldo promedio de las hombres que trabajan.
EL sueldo promedio de las mujeres que trabajan.
Usa todos los mtodos que veas necesarios, piensa que es aquello que se
repite o que puede ser mejor tenerlo por separado.
4
5
6
7
9
10
//Rellenamos la tabla
11
rellenoSexo(lista);
12
rellenoTrabajo(lista);
13
rellenoSueldo(lista);
14
15
16
imprimirArray(lista);
17
18
19
20
21
22
23
System.out.println("Hay un "+porcHombresMujeresTrabajo(lista, 1,
24 1)+" % de hombres que trabajan");
25
26
System.out.println("Hay un "+porcHombresMujeresTrabajo(lista, 2,
1)+" % de mujeres que trabajan");
27
System.out.println("Hay un "+porcHombresMujeresTrabajo(lista, 1,
28 2)+" % de hombres que no tiene trabajo");
29
System.out.println("Hay un "+porcHombresMujeresTrabajo(lista, 2,
2)+"
% de mujeres que no tiene trabajo");
30
31
32
33
37
38
39
int numero=(int)Math.floor(Math.random()*2+1);
40
lista[0][i]=numero;
41
42
43
44
45
int numero=(int)Math.floor(Math.random()*2+1);
46
lista[1][i]=numero;
47
48
49
50
51
52
if (lista[1][j]==2){
53
lista[2][j]=0;
54
}else{
55
int numero=(int)Math.floor(Math.random()*1000+500);
56
lista[2][j]=numero;
57
58
59
60
61
}
}
62
63
64
65
66
67
System.out.println(datoEncuesta[i]);
68
69
70
System.out.println("En la fila " +i+" y columna " +j+ " tiene "
+lista[i][j]);
}
71
72
}
73
74
75
76
77
}
public static double porcHombresMujeres (int lista[][], int sexo){
int contador=0;
for(int i=0;i<lista[0].length;i++){
if (lista[0][i]==sexo){
78
contador+=1;
79
}
80
81
82
double porcentaje=(contador*100)/lista[0].length;
83
return porcentaje;
84
85
86
}
public static double porcHombresMujeresTrabajo (int lista[][], int sexo,
int trabajo){
int contador=0;
87
double porcentaje_sexo=0;
88
double porcentaje=0;
89
for(int i=0;i<lista[0].length;i++){
90
91
contador+=1;
92
}
93
}
94
if(sexo==1){
95
porcentaje_sexo=porcHombresMujeres(lista, 1);
96
porcentaje=(contador*100)/(porcentaje_sexo/10);
97
}else{
98
porcentaje_sexo=porcHombresMujeres(lista, 2);
99
porcentaje=(contador*100)/(porcentaje_sexo/10);
10
0
10
1
10
2
10
3
return porcentaje;
}
public static double promedioSueldo(int lista[][], int sexo, int trabajo){
int contador=0;
10
4
double suma=0;
10
5
for(int i=0;i<lista[0].length;i++){
10
6
10
7
10
double promedio=0;
8
10
9
11
0
return promedio;
11
1
promedio=suma/contador;
11 }
2
1. Calcular la media de una serie de nmeros que se leen por teclado.
Programa Java que lea por teclado 10 nmeros enteros y los guarde en un array. A
continuacin calcula y muestra por separado la media de los valores positivos y la
de los valores negativos.
/*
* Programa que lea por teclado 10 nmeros enteros y los guarde en un array.
* A continuacin calcula y muestra la media de los valores positivos y la de los
valores negativos.
*/
import java.util.*;
public class Media1 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int i;
int pos = 0, neg = 0; //contadores de los nmeros positivos y negativos
int[] numeros = new int[10]; //array que contendr los nmeros ledos por
teclado
double sumaPos = 0, sumaNeg = 0; //acumuladores para las sumas de
positivos y negativos
//lectura de datos y llenar el array
System.out.println("Lectura de los elementos del array: ");
for (i = 0; i < 10; i++) {
System.out.print("numeros[" + i + "]= ");
numeros[i]=sc.nextInt();
}
//recorrer el array para sumar por separado los nmeros positivos
// y los negativos
for (i = 0; i < 10; i++) {
if (numeros[i] > 0){ //sumar positivos
sumaPos += numeros[i];
pos++;
} else if (numeros[i] < 0){ //sumar negativos
sumaNeg += numeros[i];
neg++;
}
}
//Calcular y mostrar las medias
if (pos != 0) {
System.out.println("Media
} else {
System.out.println("No ha
}
if (neg != 0) {
System.out.println("Media
} else {
System.out.println("No ha
}
2. Programa Java que lea 10 nmeros enteros por teclado y los guarde en un array.
Calcula y muestra la media de los nmeros que estn en las posiciones pares del
array.
Considera la primera posicin del array (posicin 0) como par.
/*
* Leer 10 nmeros enteros y guardarlos
* en un array. Calcular la media de los
* que estn en las posiciones pares.
*/
import java.util.*;
public class Arrays1_2 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int i;
int[] numeros = new int[10];
double media = 0;
//lectura de datos y llenar el array
System.out.println("Lectura de los elementos del array: ");
for (i = 0; i < 10; i++) {
System.out.print("numeros[" + i + "]= ");
numeros[i] = sc.nextInt();
}
//Recorrer el array y calcular la media
for (i = 0; i < 10; i++) {
if (i % 2 == 0){ //si la posicin actual es par
media = media + numeros[i]; //se suma el valor de esa posicin
}
}
//Calcular y mostrar la media
System.out.println("Media de los valores que se encuentran en posiciones
pares: "+ media/5);
}
}
3. Programa que lee por teclado la nota de los alumnos de una clase y calcula la
nota media del grupo. Tambin muestra los alumnos con notas superiores a la
media. El nmero de alumnos se lee por teclado.
Este programa utiliza un array de elementos de tipo double que contendr las notas
de los alumnos.
El tamao del array ser el nmero de alumnos de la clase, por lo tanto primero se
pedir por teclado el nmero de alumnos y a continuacin se crear el array.
Se realizan 3 recorridos sobre el array, el primero para asignar a cada elemento las
notas introducidas por teclado, el segundo para sumarlas y calcular la media y el
tercero para mostrar los alumnos con notas superiores a la media.
import java.util.*;
public class MediaDeLaClase {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int numAlum, i;
double suma = 0, media;
//Lectura del nmero de alumnos. Debe ser un valor positivo
do {
System.out.print("Nmero de alumnos de la clase: ");
numAlum = sc.nextInt();
} while (numAlum <= 0);
//se crea un array llamado notas de numAlumn elementos de tipo double
double[] notas = new double[numAlum];
// Entrada de datos. Se lee la nota de cada alummo y se guarda
// en cada elemento del array
for (i = 0; i < notas.length; i++) {
System.out.print("Alumno " + (i + 1) + " Nota final: ");
notas[i] = sc.nextDouble();
}
// Sumar todas las notas
for (i = 0; i < notas.length; i++) {
suma = suma + notas[i];
}
// Calcular la media
media = suma / notas.length;
// Mostrar la media
System.out.printf("Nota media del curso: %.2f %n", media);
// Mostrar los valores superiores a la media
System.out.println("Listado de notas superiores a la media: ");
for (i = 0; i < notas.length; i++) {
if (notas[i] > media) {
System.out.println("Alumno numero " + (i + 1)+ " Nota final: " +
notas[i]);
}
}
}
}
4. Programa que crea un array de 20 elementos llamado Pares y guarde los 20
primeros nmeros pares. Mostrar por pantalla el contenido del array creado.
/*
* Programa que crea un array de 20 elementos
* llamado Pares y guarde los 20 primeros
* nmeros pares.
* Mostrar por pantalla el contenido
* del array creado
*/
import java.util.*;
public class ArrayPares {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int i, cont = 2;
int[] pares = new int[20];
//Llenamos el array con nmeros pares. Utilizamos un contador
//con valor inicial 2 y le sumamos dos en cada iteracin.
for (i = 0; i < pares.length; i++) {
pares[i] = cont;
cont += 2;
}
//Mostrar el array
for (i = 0; i < pares.length; i++) {
System.out.println(pares[i]);
}
5. Programa Java que guarda en un array 10 nmeros enteros que se leen por
teclado. A continuacin se recorre el array y calcula cuntos nmeros son positivos,
cuntos negativos y cuntos ceros.
// Contar el nmero de elementos positivos, negativos y ceros de un array de 10
elementos.
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int[] numeros = new int[10];
int pos = 0, neg = 0, cero = 0; //contadores
int i;
//Leemos los valores por teclado y los guardamos en el array
System.out.println("Lectura de los elementos del array: ");
for (i = 0; i < numeros.length; i++) {
System.out.print("numeros[" + i + "]= ");
numeros[i] = sc.nextInt();
}
//se recorre el array para contar positivos, negativos y ceros
for (i = 0; i < numeros.length; i++) {
if (numeros[i] > 0) {
pos++;
} else if (numeros[i] < 0) {
neg++;
} else {
cero++;
}
}
//mostrar resultados
System.out.println("Positivos: " + pos);
System.out.println("Negativos: " + neg);
System.out.println("Ceros: " + cero);
}
6. Programa Java que llene un array con 10 nmeros enteros que se leen por
teclado. A continuacin calcula y muestra la media de los valores positivos y la de
los valores negativos del array.
/*
* Leer 10 nmeros enteros y mostrar la media de los valores positivos y la de los
valores negativos.
*/
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int[] numeros = new int[10];
int pos = 0, neg = 0; //contadores para positivos y negativos
int i;
double sumaPos = 0, sumaNeg = 0; //suma de positivos y negativos
//Leemos los valores por teclado y los guardamos en el array
System.out.println("Lectura de los elementos del array: ");
for (i = 0; i < numeros.length; i++) {
System.out.print("numeros[" + i + "]= ");
numeros[i]=sc.nextInt();
}
//se recorre el array para sumar positivos y negativos
for (i = 0; i < numeros.length; i++) {
if (numeros[i] > 0){ //sumar positivos
sumaPos += numeros[i];
pos++;
} else if (numeros[i] < 0){ //sumar negativos
sumaNeg += numeros[i];
neg++;
}
}
//mostrar resultados
if (pos != 0) {
System.out.println("Media de los valores positivos: " + sumaPos / pos);
} else {
System.out.println("No ha introducido nmeros positivos");
}
if (neg != 0) {
System.out.println("Media de los valores negativos: " + sumaNeg / neg);
} else {
System.out.println("No ha introducido nmeros negativos");
}
}
7. Programa Java para leer la altura de N personas y calcular la altura media.
Calcular cuntas personas tienen una altura superior a la media y cuntas tienen
una altura inferior a la media. El valor de N se pide por teclado y debe ser entero
positivo.
/*
* Leer la altura de N personas y calcular la altura media
* Mostra cuntos hay superiores a la media.
*/
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int i, N;
int contMas = 0, contMenos = 0;
double media = 0;
//Leer el nmero de personas
do{
System.out.print("Nmero de personas: ");
N = sc.nextInt();
}while(N<=0);
//Se crea el array de tamao N
double[] alto = new double[N];
//Leer alturas
System.out.println("Lectura de la altura de las personas: ");
for (i = 0; i < N; i++) {
System.out.print("persona " + (i+1) + " = ");
alto[i] = sc.nextDouble();
media = media + alto[i]; //se suma la estatura leda para calcular la media
}
//Calcular la media
media = media / N;
//recorremos el array para ver cuantos hay ms altos
//que la media y cuantos ms bajos
for (i = 0; i < alto.length; i++) {
if (alto[i] > media){ //si la estatura es mayor que la media
contMas++;
} else if (alto[i] < media){ //si es menor
contMenos++;
}
}
//Mostrar resultados
System.out.println("Estatura media: " + media);
System.out.println("Personas con estatura superior a la media: " + contMas);
System.out.println("Personas con estatura inferior a la media: " +
contMenos);
}
}
}
}
}
}
//mostrar resultados
System.out.println("Empleado con mayor sueldo: " + nombreMayor );
System.out.println("Sueldo: " + mayorSueldo);