Sie sind auf Seite 1von 5

Programacin 2013-2014

Ejercicios Tema 2

Ejercicios del Tema 2


Ejercicio 1: Dadas las siguientes declaraciones de variables, explicar cules son incorrectas.
Cmo se pueden resolver, si es que se puede?
1) char a$a='c', A$A = 'd', a$A, A$a=A$A;
2) float c=3, _d=4.2, e= _d*c;
3) boolean j= false, h= true, f=j+h;
4) String aa="hola", bb= "adios", dd, ee=aa+bb+dd;
Respuesta:
1) Correcta: java distingue maysculas de minsculas por lo que las 4 variables
son distintas y el signo $ puede aparecer en el nombre de una variable (de
hecho una variable puede empezar por $)
2) Incorrecta. Asignamos un valor double (4.2) a la variable _d que es de tipo
float. Para resolverlo, o bien ponemos una F detrs (4.2F) o hacemos un
casting: _d= (float) 4.2
3) Incorrecta. No se pueden sumar booleanos. No se puede arreglar.
4) Incorrecta. Intentamos usar dd sin haberle dado valor antes. Para resolverlo
habra que darle antes valor.
Ejercicio 2: Indicar cul sera la salida por consola al ejecutar la siguiente clase:
public class Pregunta2 {
public static void main(String[] args) {
int x = 10;
int j = 5;
int z = x + j;
System.out.println(++z);
System.out.println(z++);
}
}

Respuesta: En la primera impresin, primero se incrementa el valor de la variable (z


vale 16) y luego se imprime. En la segunda, primero se imprime el valor de la variable
(16) y luego se incrementa. Por tanto se imprime:
16
16
Al final z vale 17.
Ejercicio 3: Escribir un programa en Java que en su mtodo main realice lo siguiente:
1) Crear un array de 4 nmeros enteros.
2) Introducir en el array creado los valores: 7, 22, 3, 49
3) Crear una variable de tipo entero llamada total
4) Introducir en la variable total la suma de los elementos del array
5) Imprimir el valor de la variable total
Respuesta:
package ejerciciosTema2;
public class Ejercicio3 {
public static void main(String[] args) {
int[] array = new int[4];
array[0] = 7;
array[1] = 22;
array[2] = 3;
array[3] = 49;
int total = array[0] + array[1] + array[2] + array[3];
System.out.println(total);
}}

Universidad Carlos III de Madrid. Grado en Ingeniera Informtica

Programacin 2013-2014

Ejercicios Tema 2

Ejercicio 4: Encontrar y explicar los 3 errores de compilacin que aparecen en el siguiente


cdigo Java. Cmo los resolvera?
public class Pregunta4 {
public static void main (String [] args){
int a, b, c;
int [] d, e;
String s;
short f=33;
a=f;
b=a+f;
c= f;
f=a;
a=12;
String k = s+"adios";
d[0]= 15;
}
}

Respuesta:
Primer error: f=a. f es short y a es int, por lo que no se puede asignar a f el
valor de a. Para resolverlo habra que hacer un casting: f = (short) a
Segundo error: k=s+ "adios". No se ha dado valor a s, por lo que no puede
utilizarse. Se puede resolver dando cualquier valor a s.
Tercer error: d[0]=15. Se ha declarado el array d, pero no se ha asignado memoria
todava ni se ha dicho cuntas posiciones tiene, as que no se le puede asignar valor a
la posicin 0. Para resolverlo habra que crear el array con cualquier nmero de
elementos, por ejemplo d = new int [5];
Ejercicio 5. Crear una matriz de double tres filas, la primera debe tener cinco columnas, la
segunda 3 y la tercera 8.
Respuesta:
public class Ejercicio5 {
public static void main(String[] args) {
//Como va a ser una matriz irregular al crearla solo
// decimos el nmero de filas
double [][] matriz = new double [3][];
//Ahora vamos creando las columnas de cada fila
matriz[0]= new double [5];
matriz[1]= new double [3];
matriz[2]= new double [8];
}
}

Ejercicio 6: Crear un nuevo tipo de dato para almacenar los equipos que componen la
primera divisin de ftbol.
Respuesta:
//Creamos un tipo enumerado
enum Equipos {BARCELONA, ATLETICO, REAL_MADRID, VILLAREAL, GETAFE,
ATHLETIC, ESPANYOL, VALENCIA, LEVANTE, ELCHE, SEVILLA, REAL_SOCIEDAD,
MALAGA, RAYO, BETIS, GRANADA, VALLADOLID, OSASUNA, CELTA, ALMERIA}

Ejercicio 7: Crear un nuevo tipo para representar un jugador de ftbol. Deber incluir el
nombre, los apellidos, la edad, la posicin en la que juega y el equipo al que pertenece (usar el
tipo de dato creado en el ejercicio anterior). En otra clase crear un objeto de este tipo y
rellenarlo.
Respuesta:
Universidad Carlos III de Madrid. Grado en Ingeniera Informtica

Programacin 2013-2014

Ejercicios Tema 2

Clase en la que se define el nuevo tipo:


public class
public
public
public
public
public
}

Jugador {
String nombre;
String apellidos;
byte edad;
String posicion;
Equipos equipo;

Clase en la que se declara una variable (un objeto) del nuevo tipo:
public class Ejercicio7 {
public static void main(String[] args) {
Jugador unJugador = new Jugador();
unJugador.nombre = "Iker";
unJugador.apellidos="Casillas";
unJugador.edad= 31;
unJugador.posicion = "portero";
unJugador.equipo = Equipos.REAL_MADRID;
}
}

Ejercicio 8: Crear arrays que sirvan para guardar los siguientes datos:
a) Los resultados de la quiniela para una sola jornada (15 resultados)
b) Los resultados de la quiniela para todas las jornadas (38 jornadas y 15 resultados cada
una)
Las notas de una asignatura de los alumnos de tres clases que tienen 15, 25 y 21 alumnos
respectivamente.
package ejerciciosTema2;
public class Ejercicio8 {
public static void main(String[] args) {
//Lo hacemos de char para poder meter 1,X,2
char [] quiniela = new char [15];
char [][] todasQuinielas = new char [38][15];
//creamos primero las filas
float [][] notas = new float [3][];
notas[0]= new float[15];
notas[1]=new float[25];
notas[2]=new float[21];
}
}

Ejercicio 9: Crear un programa que pida por teclado una temperatura en grados centgrados e
imprima su correspondiente temperatura en grados Fahrenheit de la siguiente forma: X grados
centgrados son Y grados Fahrenheit (recordar que (F-32)/9 = C/5)
package ejerciciosTema2;
import java.util.Scanner;
public class Ejercicio9 {
public static void main(String[] args) {
Scanner sc = new Scanner (System.in);
System.out.println("Introduce la temperatura en grados
centgrados");

Universidad Carlos III de Madrid. Grado en Ingeniera Informtica

Programacin 2013-2014

Ejercicios Tema 2

double temp = sc.nextDouble();


double fahr = 9*temp/5+32;
System.out.println(temp+ " grados centgrados son "+fahr+"
grados fahrenheit");
//Cerramos el scanner, no es obligatorio
sc.close();
}
}

Ejercicio 10: Crear un programa en Java que reciba por teclado un valor entero que represente
segundos y lo convierta en su equivalente en horas (por ejemplo 3680 segundos son 1 hora, 1
minuto y 20 segundos)
package ejerciciosTema2;
import java.util.Scanner;
public class Ejercicio10 {
public static void main(String[] args) {
Scanner sc = new Scanner (System.in);
System.out.println("Dime los segundos");
int se = sc.nextInt();
int horas, minutos, segundos;
//Para las horas dividimos por 3600
horas = se/3600;
//Para los minutos cogemos el sobrante (el mdulo)
//y lo dividimos por 60
minutos = se%3600/60;
//El sobrante son segundos
segundos = se%3600%60;
System.out.println(se+ " segundos son "+horas+" horas
"+minutos+" minutos "+segundos+" segundos");
sc.close();
}
}

Ejercicio 11: Crear un nuevo tipo de datos, denominado Alumno, para representar un alumno
de primer curso de Ingeniera Informtica. Tendr los siguientes atributos: nombre, apellidos,
nota de programacin, nota de algebra, nota de clculo, nota de fsica, nota de tcnicas de
bsqueda y nota de tcnicas de expresin oral (elegir el tipo de dato ms adecuado para cada
atributo)
package ejerciciosTema2;
public class
public
public
public
public
public
public
public
public
}

Alumno {
String nombre;
String apellidos;
float notaProgramacion;
float notaAlgebra;
float notaCalculo;
float notaFisica;
float notaBusqueda;
float notaTecnicas;

Ejercicio 12: Crear un programa que cree un objeto del tipo de datos anterior, pida los valores
de cada uno de los atributos por teclado y los imprima.
package ejerciciosTema2;
import java.util.Scanner;
public class Ejercicio12 {

Universidad Carlos III de Madrid. Grado en Ingeniera Informtica

Programacin 2013-2014

Ejercicios Tema 2

public static void main(String[] args) {


Alumno al = new Alumno();
Scanner sc = new Scanner (System.in);
System.out.println("Introduce el nombre");
al.nombre = sc.next();
System.out.println("Introduce los apellidos");
//Como los apellidos van separados por un espacio hay que
pedirlos 2 veces
al.apellidos= sc.next();
al.apellidos= al.apellidos+" "+sc.next();
System.out.println("Introduce la nota de Programacin");
al.notaProgramacion = sc.nextFloat();
System.out.println("Introduce la nota de Algebra");
al.notaAlgebra = sc.nextFloat();
System.out.println("Introduce la nota de Clculo");
al.notaCalculo = sc.nextFloat();
System.out.println("Introduce la nota de Fsica");
al.notaFisica = sc.nextFloat();
System.out.println("Introduce la nota de Tcnicas de
Bsqueda");
al.notaBusqueda = sc.nextFloat();
System.out.println("Introduce la nota de Tcnicas de
Expresin Oral");
al.notaTecnicas= sc.nextFloat();
sc.close();
System.out.println("Nombre y apellidos del alumno:
"+al.nombre+" "+al.apellidos);
System.out.println("Nota de Programacin:
"+al.notaProgramacion);
System.out.println("Nota de Algebra: "+al.notaAlgebra);
System.out.println("Nota de Clculo: "+al.notaCalculo);
System.out.println("Nota de Fsica: "+al.notaFisica);
System.out.println("Nota de Tcnicas de Bsqueda:
"+al.notaBusqueda);
System.out.println("Nota de Tcnicas de Expresin Oral:
"+al.notaTecnicas);
}
}

Universidad Carlos III de Madrid. Grado en Ingeniera Informtica

Das könnte Ihnen auch gefallen