PRIMER TALLER
DE OBJETOS
Profesor:
Fecha:
PROGRAMACIÓN
ORIENTADA A
OBJETOS
Jaime Guzmán, Esmeide Leal
Febrero 18 de 2005
1. Bosquejo de una clase en Java.
import java.*;
class HolaMundo
{
public static void main(String args[])
{
System.out.println("Hola Mundo");
}
}
Para compilar desde la línea de comandos el anterior programa, debemos configurar la variable de ambiente
del sistema operativo “path” de la siguiente manera.
a. Ubicarse en el directorio de trabajo ej: CD MiDirectorio.
b. Una vez en el directorio de trabajo, se escribe lo siguiente
C:\ MiDirectorio> set path=%path%;C:\ j2sdk1.4.2_02\bin
Lo que indica lo anterior es el directorio donde se encuentra el compilador de java “javac”, para este ejemplo,
se encuentra en el disco C:
c. Una vez configurado el path, lo que sigue es compilar el programa el cual debe tener el mismo nombre de
la clase en este ejemplo sería así: C:\ MiDirectorio> javac HolaMundo.java. Una vez ejecutado el comando
anterior, lo que se sigue es ejecutar el .class con el comando “java”, de la siguiente manera: C:\ MiDirectorio>
java HolaMundo, una vez ejecutado el comando aparecera una ventana con la frase “Hola Mundo.”
2. Escribir y compilar el siguiente programa en java para poner en práctica las sentencias de control if else
import java.*;
import java.io.*;
class Temperatura
{
private int temperatura = 6;
public static void main(String args[])
{
Temperatura temp = new Temperatura();
temp.control();
}
void control()
{
float t;
String sdato;
z Universidad Nacional de Colombia - Medellín
try
{
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader flujoE = new BufferedReader(isr);
// Leer. La entrada finaliza al pulsar la tecla Entrar
System.out.println("Introduzca la temperatura del sistema\n");
sdato = flujoE.readLine();
t = Float.parseFloat(sdato);
}
catch(IOException e)
{
System.out.println("Ocurrio una excepcion " + e.getMessage() + "\n");
return;
}
if( t <= 0)
{
System.out.println("Error la temperatura es invalida\n");
return;
}
else if(t < 5)
{
System.out.println("la temperatura es baja, aumentando combustion\n");
System.out.println(aumentar_combustion(5));
}
else if(t < 10)
{
System.out.println("la temperatura es adecuada\n");
System.out.println(this.temperatura);
}
else if(t < 20)
{
System.out.println("la temperatura es alta, disminuyendo combustion a: \n");
System.out.println(disminuir_combustion(5));
}
else
{
System.out.println("la temperatura es demasiado alta!, apagando el sistema\n");
shutdown();
}
}
float aumentar_combustion(int temperatura)
{
this.temperatura += temperatura;
return this.temperatura;
}
float disminuir_combustion(int temperatura)
{
this.temperatura -= temperatura;
return this.temperatura;
}
z Universidad Nacional de Colombia - Medellín
void shutdown()
{
this.temperatura = 0;
}
}
2. Escribir y compilar el siguiente programa en java para poner en práctica los conceptos de ciclo while y for
import java.*;
import java.io.*;
class Primos
{
public static void main(String args[])
{
Primos primos = new Primos();
String sdato;
try
{
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader flujoE = new BufferedReader(isr);
System.out.println("ingrese el numero\n");
sdato = flujoE.readLine();
int numero = Integer.parseInt(sdato);
primos.factores_primos(numero);
}
catch(IOException e)
{
System.out.println("Ocurrio una excepcion " + e.getMessage() + "\n");
return;
}
}
void factores_primos(int n)
{
int a;
int [] vect = new int [1000];
for(int k = 0; k < n; k++)
vect[k] = 0;
a=n;
while(a>1)
{
for(int i = 2; i<= a; i++)
{
if( (a%i == 0) )
{
vect[i - 1]++;
a = a/i;
break;
z Universidad Nacional de Colombia - Medellín
}
}
}
for(int j = 1; j< n; j++)
{
if( vect[j] != 0)
System.out.println("factor " + (j+1) + ": " + vect[j] + " veces\n");
}
}
}
for(int j = 1; j< n; j++)
{
if( vect[j] != 0)
System.out.println("factor " + (j+1) + ": " + vect[j] + " veces\n");
}
}
}
4. Escribir y compilar el siguiente programa en java para poner en práctica los conceptos de la estructura caso
import java.*;
import java.io.*;
public class DiasMes
{
public static void main(String[] args)
{
int días = 0, mes = 0, año = 0;
String sdato;
try
{
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader flujoE = new BufferedReader(isr);
System.out.print("Mes (##): ");
sdato = flujoE.readLine();
mes = Integer.parseInt(sdato);
System.out.print(mes);
System.out.print("Año (####): ");
sdato = flujoE.readLine();
año = Integer.parseInt(sdato);
}
catch(IOException e)
{
System.out.println("Ocurrio una excepcion " + e.getMessage() + "\n");
return;
}
switch (mes)
{
case 1: // enero
case 3: // marzo
z Universidad Nacional de Colombia - Medellín
case 5: // mayo
case 7: // julio
case 8: // agosto
case 10: // octubre
case 12: // diciembre
días = 31;
break;
case 4: // abril
case 6: // junio
case 9: // septiembre
case 11: // noviembre
días = 30;
break;
case 2: // febrero
// ¿Es el año bisiesto?
if ((año % 4 == 0) && (año % 100 != 0) || (año % 400 == 0))
días = 29;
else
días = 28;
break;
default:
System.out.println("\nEl mes no es válido");
break;
}
if (mes >= 1 && mes <= 12)
System.out.println("\nEl mes " + mes + " del año " + año +
" tiene " + días + " días");
}
}
5. Escribir y compilar el siguiente programa en java para poner en práctica los conceptos de matrices.
Ejercicios
1. Realice un programa en java que calcule la raiz cuadrada de un número n por el método de Newton.
ri +1
n
+ ri
ri
=
2
Donde ri , es la raíz cuadrada aproximada de n, se repite hasta que la diferencia en valor absoluto de las dos
últimas aproximaciones calculadas, sean tan pequeña como se quiera así abs ( ri − ri +1 ) ≤ ε
2. realiza un programa en java que calcule las raíces de la ecuación
ax 2 + bx + c = 0 .
3. Realice un programa que lea cuatro cadenas de caracteres y la almacene en una matriz. A continuación,
utilizando un método, deberá convertir los caracteres de minúsculas a mayúsculas y por último deberá
imprimir los resultados.
z Universidad Nacional de Colombia - Medellín