Está en la página 1de 15

U.T.O. – F.N.I. ING. DE SISTEMAS – ING.

INFORMÁTICA

SIS – 2330 METODOLOGÍA DE LA PROGRAMACIÓN III


GUÍA DE LABORATORIO # 1

TEMA: ENTORNODE DESARROLLO INTEGRADO  JCREATOR, ECLIPSE, NETBEANS 


LENGUAJE DE PROGRAMACIÓN JAVA (CONSOLA).
OBJETIVOS.

 Conocer y seleccionar los diferentes entornos de desarrollo integrado.


 Adiestramiento del IDE JCreator.
 Desarrollar programas iniciales en java consola.

FUNDAMENTO TEORICO.

CONCEPTOS CARACTERÍSTICAS, VENTAJAS Y DESVENTAJAS DE LOS IDE’s DE


PROGRAMACIÓN, PRINCIPALES IDE’s.

CONCEPTO DE LOS IDE’s: un entorno de desarrollo integrado, llamado también IDE(sigla en ingles
de integrated development enviroment), es un programa informático compuesto por un conjunto de
herramientas de programación. Puede dedicarse en exclusiva a un solo lenguaje de programación o
bien a puede utilizarse para varios. Un IDE es un entorno de programación que ha sido empaquetado
como un programa de aplicación; es decir, que consiste en un editor de código, un compilador, un
depurador y un constructor de interfaz gráfica (GUI). Los IDEs pueden ser aplicaciones por sí solas o
pueden ser parte de aplicaciones existentes.

CARACTERÍSTICAS DE LOS PRINCIPALES IDE’s

Eclipse
*Dispone de un editor de texto con resaltador de sintaxis.
*La compilación es en tiempo real
*Tiene pruebas unitarias con (JUnit).
*Control de versiones con (CVS).
*Integración con (Ant),
*Asistentes (wizards) para creación de proyectos
*Clases, test, etc...

Netbeans
* Soporte JavaScript
* Mejora en el desempeño
* Soporte en estructuras sprint
* Nuevo soporte MySQL en la exploración de bases de datos
* Soporte en Java Beans
* Generador JSF CRUD
* Soporte Ruby/JRuby
* Competición de código JavaDoc
* Soporte para los web APIs más usados
* Soporte RESTFul web servís
* Compartir proyectos (librerías compartidas AKA)

Página 1
* Nuevas extensiones (Plugins)
* Java Moviliti (Aplicaciones como móviles)
* Vista previa de características post-6.1

JCreator
*El editor tiene las características básicas usuales: insertar, borrar y actualizar texto, soporte para copy,
cut y paste, undo ilimitado entre otras.
*Además, tiene las siguientes características: Class wizard: El editor de JCreator le permite agilizar el
proceso de crear clases, ingresar métodos y atributos con este wizard.
*Para acceder a el hay que hacer clic en el menu Project y luego en new class...
*Números de línea: Por defecto JCreator enseña líneas con número mientras se ingresa el código.
*Esto le permite referenciar más fácil el código fuente referenciandolo con estos números de línea.
*Resaltado de sintaxis: JCreator resalta varios elementos de código fuente, como nombres de métodos
y palabras claves como new y class.

BlueJ
*Bluej está desarrollado 100% sobre Java, lo que lo hace multiplataforma y entre sus características
más llamativas está, el utilizar muy pocos recursos de la máquina.
*Su característica mas relevante, es un sistema parecido al UML que nos modela de manera gráfica el
comportamiento y las relaciones que existen entre clases.
*Ambiente completamente integrado.
*Visualización Gráfica de la estructura de las clases.
*Edición grafica y textual. Built-in editor, compilador, máquina virtual, depurador.
*Interfase fácil de usar, ideal para principiantes. Llamadas y creación de objetos interactiva.

JBuilder
*Maximiza la productividad de los desarrolladores.
*Incluye varios diseñadores visuales, incluyendo EJB y diseñadores APP permite a los desarrolladores
para crear un modelo visual, ya que el desarrollo de aplicaciones EJB permitirá la creación de un
proyecto de modelado de Java con el apoyo de la APP
*Un diseñador de Web Services que proporciona una representación visual de dos modos de diseño
para la creación de servicios habilitados para las aplicaciones basadas en Web del Eje.
*Y un diseñador de interfaz de usuario de Swing para la creación rápida y fácil de base Swing-IU.

VENTAJAS

Eclipse
*El entorno de desarrollo integrado (IDE) de Eclipse emplea módulos (en inglés plug-in) para
proporcionar toda su funcionalidad al frente de la Plataforma de Cliente rico, a diferencia de otros
entornos monolíticos donde las funcionalidades están todas incluidas, las necesite el usuario o no.
*Este mecanismo de módulos es una plataforma ligera para componentes de software. Adicionalmente
a permitirle a Eclipse extenderse usando otros lenguajes de programación como son C/C++ y Python,
permite a Eclipse trabajar con lenguajes para procesado de texto como LaTeX, aplicaciones en red
como Telnet y Sistema de gestión de base de datos.

Netbeans
* La plataforma Netbeans puede ser usada para desarrollar cualquier tipo de aplicación.

Página 2
* Reutilización del los módulos.
* Permite el uso de la herramienta.
* Update Center Module.
* Instalación y actualización simple.
* Incluye Templates y Wizards
* Posee soporte para Php.

JCreator
*Enorme cantidad de plantillas para trabajos rápidos.
*Administrador de proyectos guiados.
*Editor de sintaxis incorporado.
*Intefaz de depuración independiente.
*Función de coloreado de comandos.

BlueJ
*Solo no está disponible en versión inglés.
*RESULTA Complicada el correr los Programas,
*Es incomoda para Programadores Expertos.
*Su Entorno no muy amigable.

JBuilder
*Reducir la curva de aprendizaje mediante el uso de la IDE misma para múltiples plataformas.
*La velocidad de desarrollo con soporte para las últimas tecnologías Java.
*Mayor facilidad de uso y función de navegación.
* Fácil mover los proyectos de JBuilder y Eclipse adelante.
*Experiencia sin igual de la productividad y la reutilización de código.
*Crear rápidamente sofisticadas aplicaciones basadas en Swing.
*Analizar, depurar y ajustar las aplicaciones en el IDE.
*Aumentar la productividad individual y de equipo.
*Acelerar la creación de servicios Web.
*Mejorar la productividad y la comprensión del código con el modelado UML y arqueología de código.
*Mejorar la calidad del código con las auditorías y métricas.

DESVENTAJAS

Eclipse
*Su principalmente inconveniente, común a otros IDEs en mayor o menor medida, en el consumo de
recursos del sistema.
*También que carece de mucho soporte para webapps (.war, jsp y servlets) tal y como lo hace
netbeans. (los plugins por lo general no son ni tan potentes ni tan sencillos como el módulo que en
Netbeans viene preinstalado).

Netbeans
*Muy pesado, sobre todo si se tienen varios proyectos.
*Poca existencia de plug-in para esta plataforma.
*Hace falta documentación del Rich Client Plataform (RCP).
*Carece de soportes webapps(.war, jsp y servlets).

Página 3
JCreator
*Está pensado para el desarrollo de software en Java y no soporta otros idiomas.
*No se pueden crear una base de datos.
*No se pude crear el lenguaje UML.
*La herramienta no es lo suficientemente potente para el desarrollo de sistemas grandes y complejos.

BlueJ
*Resulta complicada la corrida de los programas, para programadores expertos.
*Su entorno no es muy amigable.
*No incluye la tecnología de base de datos.
*Solamente admite el lenguaje Java.

JBuilder
*Consume muchos recursos.
*Se torna lento a la hora de compilar los archivos.

¿Se desaconseja el uso de otro IDE?


No, la elección recomendada puede ser cualquiera de los IDE’s que hemos citado. Hay que tener en
cuenta que un IDE es una herramienta y que por tanto podemos usar alternativamente una u otra en
función de nuestras necesidades. Pongamos por caso que un IDE fuera un martillo: ¿qué martillo
elegir?.

Historia de java
Creado por Sun Microsystems Inc. en 1990, como un proyecto para desarrollar un sistema que
controlara electrodomésticos. Se pretendía crear un hardware polivalente, con un Sistema Operativo
eficiente (SunOS) y un lenguaje de desarrollo denominado Oak (roble), el proyecto finalizó en 1992 y
debido a su alto costo en relación a otros proyectos del mismo tipo que ya existían, fue declarado como
un fracaso.

En realidad J2EE es una especificación escrita por Sun Microsystem para el desarrollo de aplicaciones
para empresas. J2EE 1.6 (la última versión, por ahora) nos permite crear aplicaciones con acceso a
Base de Datos (JDBC), utilización de ficheros distribuidos (JNDI), acceso a métodos remostos
(CORBA, RMI), funciones de correo electrónico (JavaMail) y aplicaciones Web (Servlets , JSP y
EJB). De manera que ahora, mediante el J2EE, se puede crear aplicaciones para empresas e
implementar servicios Web de una forma mucho más funcional.

Funcionamiento de Java

o Archivo utilizado durante la fase de programación.


o El único archivo realmente inteligible para el programador.
-Code Java : archivo .class
o Código objeto destinado a ser ejecutado en toda Máquina Virtual de Java
o Procede de la compilación del código fuente
quina Virtual Java
o Interprete de java convirtiendo el código a un lenguaje entendible para la máquina, ejecuta el
Byte-Code Java.

Página 4
Sentencias de Control de Flujo en Java

Las sentencias de control de flujo determinan el orden en que se ejecutarán las otras sentencias dentro
del programa. El lenguaje Java soporta varias sentencias de control de flujo, incluyendo.

 toma de decisiones if-else, switch-case


 bucles for, while, do-while
 excepciones try-catch-finally, throw
 miscelaneas break, continue, label:, return

Sentencias de toma de decisiones

 La sentencia if-else

if (expresión) sentencia; if (expresión) sentencia;


else otrasentencia;

Este uso particular de la sentencia else es la forma de capturarlo todo.

int puntuacion;
String nota;

if (puntuacion >= 90) {


nota = "Sobresaliente";
} else if (puntuacion >= 80) {
nota = "Notable";
} else if (puntuacion >= 70) {
nota = "Bien";
} else if (puntuacion >= 60) {
nota = "Suficiente";
} else {
nota = "Insuficiente";
}

Una sentencia if puede tener cualquier número de sentencias de acompañamiento else if.

 La sentencia switch-case

int mes;
. . .
switch (mes) {
case 1: System.out.println("Enero"); break;
case 2: System.out.println("Febrero"); break;
case 3: System.out.println("Marzo"); break;
case 4: System.out.println("Abril"); break;
case 5: System.out.println("May0"); break;

Página 5
case 6: System.out.println("Junio"); break;
case 7: System.out.println("Julio"); break;
case 8: System.out.println("Agosto"); break;
case 9: System.out.println("Septiembre"); break;
case 10: System.out.println("Octubre"); break;
case 11: System.out.println("Noviembre"); break;
case 12: System.out.println("Diciembre"); break;
default: System.out.println("No es un mes válido");break;
}

Sentencias de Bucle

 El bucle while

while (expresión)
sentencia;

Esto es, mientras la expresión sea verdadera, ejecutará la sentencia.

Sentencia puede ser una sola sentencia o puede ser un bloque de sentencias. Un bloque de sentencias es
un juego de sentencias legales de java contenidas dentro de corchetes(’{'y ‘}’).

 El bucle for

// a es un array de cualquier tipo


. . .
int i;
int length = a.length;
for (i = 0; i < a.length; i++) {
System.out.println(a[i]);
}

for (inicialización; terminación; incremento)


sentencias

inicialización es la sentencia que inicializa el bucle. Se ejecuta una vez al iniciar el bucle.

terminación es una sentencia que determina cuando se termina el bucle. Esta expresión se evalúa al
principio de cada iteración en el bucle. Cuando la expresión se evalúa a false el bucle se termina.

Finalmente, incremento es una expresión que se invoca en cada interacción del bucle. Cualquiera (o
todos) de estos componentes puden ser una sentencia vacía (un punto y coma).

 el bucle do-while

do {
sentencias
} while (Expresión Booleana);

Página 6
La sentencia do-while se usa muy poco en la construcción de bucles pero tiene sus usos. Por ejemplo,
es conveniente utilizar la sentencia do-while cuando el bucle debe ejecutarse al menos una vez.

Tipos de datos

Tipos de dato simples:


Pueden utilizarse directamente en un programa, sin necesidad del uso de clases (POO).

TIPO DESCRIPCIÓN LONG. RANGO


byte byte 1 byte - 128 … 127
short entero corto 2 bytes - 32.768 … 32.767
int entero 4 bytes - 2.147.483.648 … 2.147.483.647
long entero largo 8 bytes -9.223.372.036.854.775.808… 9.223.372.036.854.775.807
float real en coma flotante 32 bits 3,4*10-38 … 3,4*1038
double real en coma flotante 64 bits 1,7*10-308 … 1,7*10308
char carácter 2 bytes 0 … 65.535
boolean lógico 1 bit true /

Operadores aritméticos:
Operador Formato Descripción
- op1 - op2 -op1 Resta aritmética de dos operandos. Cambio de signo
* op1 * op2 Multiplicación de dos operandos.
% op1 % op2 Resto de la división entera ( o módulo)
++ op1++ ++op1 Incremento unitario
-- op1-- -- op1 Decremento unitario
/ op1 / op2 División entera de dos operandos.
+ op1 + op2 Suma aritmética de dos operandos.

Operadores relacionales:
Operador Formato Descripción
> op1 > op2 Devuelve true (cierto) si op1 es mayor que op2
< op1 < op2 Devuelve true (cierto) si op1 es menor que op2
>= op1 >= op2 Devuelve true (cierto) si op1 es mayor o igual que op2
<= op1<= op2 Devuelve true (cierto) si op1 es menor o igual que op2
== op1 == op2 Devuelve true (cierto) si op1 es igual a op2
!= op1 != op2 Devuelve true (cierto) si op1 es distinto de op2

Operadores lógicos:
Operador Formato Descripción
&& op1 && op2 Y lógico. Devuelve true (cierto) si son ciertos op1 y op2
|| op1 || op2 O lógico. Devuelve true (cierto) si son ciertos op1 o op2
! ! op1 Negación lógica. Devuelve true (cierto) si es false op1.

Recomendación.

Página 7
import java.util.*;
public class PRUEBA {

public static void main(String[] args) {


int a;
Scanner lectura=new Scanner(System.in);
a=lectura.nextInt();
System.out.println("Hello World!"+a);
}
}

nextByte
nextDouble
nextFloat
nextInt
nextLine: Devuelve la línea entera como un String. Elimina el final \n del buffer
nextLong

La solución es escribir la instrucción sc.nextLine();


después de la lectura del int y antes de leer el String:

ACTIVIDAD DE CLASE.

El manual de inicio del entorno de desarrollo integrado del JCreator se describe paso a paso en el
siguiente Archivo Adjunto: IDE_Manual_JCreator_LE.pdf

Página 8
Página 9
Qué es un número perfecto?

Un número es perfecto si es igual a la suma de todos sus divisores positivos sin incluir el propio
número.

Por ejemplo, el número 6 es perfecto.

El 6 tiene como divisores: 1, 2, 3 y 6 pero el 6 no se cuenta como divisor para comprobar si es perfecto.

Si sumamos 1 + 2 + 3 = 6

Los siguientes números perfectos después del 6 son 28, 496, 8128, 33550336, 8589869056.

En esta entrada vamos a desarrollar el algoritmo para comprobar si un número es perfecto.

El programa pide por teclado un número y muestra si es perfecto o no. mediante un bucle for
sumaremos los divisores del número. Al final si esta suma es igual al número mostraremos el mensaje
correspondiente.

Programa java para calcular si un número es perfecto:

Página 10
import java.util.Scanner;
public class NumeroPerfecto {
public static void main(String[] args) {
int i, suma = 0, n;
Scanner sc = new Scanner(System.in);
System.out.println("Introduce un número: ");
n = sc.nextInt();
for (i = 1; i < n; i++) { // i son los divisores. Se divide desde 1 hasta n-1
if (n % i == 0) {
suma = suma + i; // si es divisor se suma
}
}
if (suma == n) { // si el numero es igual a la suma de sus divisores es
perfecto
System.out.println("Perfecto");
} else {
System.out.println("No es perfecto");

}
}
}

Comprobar si dos números son amigos


Dos números enteros positivos A y B son números amigos si la suma de los divisores propios de A es
igual a B y la suma de los divisores propios de B es igual a A.

Los divisores propios de un número incluyen la unidad pero no el propio número.

Un ejemplo de números amigos son los números 220 y 284.


Los divisores propios de 220 son 1, 2, 4, 5, 10, 11, 20, 22, 44, 55 y 110.
La suma de los divisores propios de 220 da como resultado 284
Los divisores propios de 284 son 1, 2, 4, 71 y 142.
La suma de los divisores propios de 284 da como resultado 220.
Por lo tanto 220 y 284 son amigos.

Otras parejas de números amigos son:

1184, 1210
2620, 2924
5020, 5564
6232, 6368
10744, 10856
12285, 14595
17296, 18416

Vamos a escribir el programa que calcula si dos números son amigos:

import java.util.*;
Página 11
public class NumerosAmigos {
public static void main(String[] args) {
int i,suma=0, n1, n2;
Scanner sc = new Scanner(System.in);
System.out.print("Introduce primer número: ");
n1 = sc.nextInt();
System.out.print("Introduce segundo número: ");
n2 = sc.nextInt();
for(i=1;i<n1;i++){ // for para sumar todos los divisores propios de n1
if(n1%i==0){
suma=suma+i;
}
}
// si la suma de los divisores de n1 es igual a n2
if(suma==n2){
suma=0;
for(i=1;i<n2;i++){ // sumo los divisores propios de n2
if(n2%i==0){
suma=suma+i;
}
}
// si la suma de los divisores de n2 es igual a n1
if(suma==n1){
System.out.println("Son Amigos");
}else{
System.out.println("No son amigos");
}
}
else{
System.out.println("No son amigos");
}
}
}

Realiza una aplicación que nos calcule una ecuación de segundo grado. Debes pedir las variables a, b y
c por teclado y comprobar antes que el discriminante (operación en la raíz cuadrada). Para la raíz
cuadrada usa el método sqrt de Math. Te recomiendo que uses mensajes de traza.

1 import javax.swing.JOptionPane;
2 public class Ecuacion2GradoApp {
3
4 public static void main(String[] args) {
5
6 String textoA=JOptionPane.showInputDialog("Introduce el valor de a");
7 int a=Integer.parseInt(textoA);
8 String textoB=JOptionPane.showInputDialog("Introduce el valor de b");
9 int b=Integer.parseInt(textoB);
10 String textoC=JOptionPane.showInputDialog("Introduce el valor de c");
11 int c=Integer.parseInt(textoC);
12
13 double discriminante=Math.pow(b, 2)-(4*a*c);

Página 12
14
15 //Mensaje de traza
16 System.out.println(">>"+discriminante);
17
18 if (discriminante>0){
19 //Tambien se puede hacer por parte si lo ves más facil
20 //recuerda que debes tener en cuenta la prioridad de elementos
21 double x1=((b*(-1))+Math.sqrt(discriminante))/(2*a);
22 double x2=((b*(-1))-Math.sqrt(discriminante))/(2*a);
23
24 System.out.println("El valor de x1 es "+x1+" y el valor de x2 es "+x2);
25 }else{
26 System.out.println("El discriminante es negativo");
27 }
28 }
29}

OptionPane.showInputMessage(“cadena”); se debe guardar en un String. Veamos un ejemplo:

1
import javax.swing.JOptionPane;
2 public class PruebaApp {
3
4 public static void main(String[] args) {
5
6 String nombre=JOptionPane.showInputDialog("Introduce tu nombre");
7
8 JOptionPane.showMessageDialog(null, "Bien, tu nombre es "+nombre);
}
9
10}
11

Esto es lo que nos muestra al ejecutar, debemos introducir un texto:

División Con Restas Sucesivas En Java


1 import javax.swing.JOptionPane;
2
3 public class Divisiones {
4
5 public static void main(String[] args) {
6 String c1, c2, resul;

Página 13
7 int a, b;
8 c1 = JOptionPane.showInputDialog( null, "Dividendo : "); //pedimos el primer numero
9 c2 = JOptionPane.showInputDialog( null, "Divisor : "); //pedimos el segundo numero
10 a = Integer.parseInt(c1);
11 b = Integer.parseInt(c2);
12
13 resul = divRestasSuc(a, b); //asignamos el resultado a una variable para mostrarla
14
15 JOptionPane.showMessageDialog(null, resul); // mostramos el resultado
16 System.exit(0);
17 }
18
19 public static String divRestasSuc(int n1, int n2){//metodo para realizar la resta sucesiva
20
21 int c=0;
22
23 String ax="Dividendo: "+n1+"n"
24 + "Divisor: "+n2;
25
26 c = 0;
27 while( n1 >= n2){ //ciclo para la resta sucesiva
28
29 n1 = n1 - n2;
30 c++; //variable cociente o resultado
31 }
32 ax+="nn Resultado: "+c;
33
34 return ax;
35 }
36
37 }

PROBLEMAS PROPUESTOS.

1. Visualizar los números primos.

2. Convertir un numero base x a base decimal y viceversa.

3. Imprimir el triangulo de pascal.

CUESTIONARIO.

Responder a lo siguiente:
1. ¿Cuál de los IDE’s desarrollados es más ventajoso para programar en java?

2. ¿Menciones 3 características de Java?


Creado para el uso de poca memoria, Lenguaje sencillo que genera código reducido y Lenguaje de
programación para ordenadores desde 1995.

3. ¿Cuáles son los tipos de Programas en Java?

Como aplicación independiente: Aplicaciones estándar de escritorio,


Página 14
Applet: Programas que se ejecutan dentro del navegador al cargar la página web
Servlet: Ejecutado en servidor de Internet, sin interfaz gráfica.

4. ¿Qué es la Maquina Virtual Java?

La Java Virtual Machine es una máquina hipotética que emula por software a una máquina real.
Contiene: Conjunto de instrucciones máquina, Registros, Pila, Memoria.

5. ¿Mencione algunas características del Lenguaje en Java?

Sensible a mayúsculas/minúsculas, Soporta comentarios, Lenguaje de formato libre, Permite


identificadores, Incluye palabras reservadas

6. ¿Cómo es el Orden de Conversión entre Tipo de Datos?

byte-short-char-int-long-float-double

7. ¿Qué es Java.io?

Debido a que todas las clases relacionadas con flujos pertenecen al paquete java.io de la
biblioteca estándar de
Java, un programa que utilice flujos de E/S tendrá que importar este paquete.

Página 15

También podría gustarte