SlideShare uma empresa Scribd logo
1 de 85
Baixar para ler offline
0
|
1
|
UNIVERSIDAD TÉCNICA DE AMBATO
FACULTAD DE CIENCIAS HUMNAS Y DE LA
EDUCACIÓN
Carrera: Docencia en Informática
Modalidad Presencial
Tercer Semestre
PROGRAMACIÓN II
Lenguaje de Programación
Orientado a Objetos
Docente: Ing. Wilma Gavilanes.
Estudiante: Zapata Suarez Jhoselyn Ayneth
AMBATO – ECUADOR
Período: Febrero 2014-Agosto.
2
|
INDICE
INTRODUCCIÓN................................................................................................................................... 3
¿QUÉ UTILIDAD TIENE ESTE PROGRAMA? .......................................................................................... 3
EXPRESIONES....................................................................................................................................... 4
OPERADORES....................................................................................................................................... 5
Operadores unarios......................................................................................................................... 5
OPERADORES BINARIOS.................................................................................................................. 6
PRECEDENCIA DE OPERADORES...................................................................................................... 6
SENTENCIAS......................................................................................................................................... 7
CONVERSIÓN DE TIPOS ....................................................................................................................... 8
CARACTERÍSTICAS................................................................................................................................ 9
CLASES............................................................................................................................................... 11
BOOLEAN....................................................................................................................................... 11
DOUBLE ......................................................................................................................................... 11
FLOAT ............................................................................................................................................ 11
INTEGER......................................................................................................................................... 11
MATH............................................................................................................................................. 12
STRING........................................................................................................................................... 12
CONCEPTO DE INMUTABILIDAD.................................................................................................... 13
STRINGBUFFER .............................................................................................................................. 13
SYSTEM.......................................................................................................................................... 14
¿QUÉ ES NETBEANS?......................................................................................................................... 14
BIBLIOTECAS DE JAVA........................................................................................................................ 16
SINTAXIS............................................................................................................................................ 16
CÓDIGO BÁSICO EN JAVA.................................................................................................................. 17
BIBLIOGRAFÍA.................................................................................................................................... 22
EJERCICIOS RESUELTOS DE JAVA EN NETNEANS ...................................................... 23
3
|
INTRODUCCIÓN
Java es un lenguaje de programación orientado a objetos, desarrollado por Sun
MicroSystems a principios de la década de 1990. Este lenguaje toma la estructura de
sintaxis (escritura de código fuente) de C y C++ incorporando un modelo de objetos
más simples y eliminando las herramientas de bajo nivel (que suele inducir muchos
errores como la manipulación de punteros en C y C++). El surgimiento de Java es
propiciado porque en la década de 1980 aparecieron varios lenguajes orientados a
objetos y también se realizaron versiones orientadas a objetos (o semi-orientados a
objetos) de lenguajes clásicos. Una de las más famosas fue el lenguaje orientado a
objetos creado a partir del C tradicional; se le llamó C++ indicando con esa simbología
que era un incremento del lenguaje C (en el lenguaje C, como en Java, los símbolos ++
significan incrementar) (Sánchez, 2004). La Programación Orientada a Objetos (POO)
permite desarrollar aplicaciones de forma más parecida al pensamiento humano, de
hecho simplifica el problema de programación (principalmente en el desarrollo de
aplicaciones de código largo) dividiéndolo en objetos, permitiendo centrarse en cada
objeto, de esa manera se elimina la complejidad de escribir código largo. En este
capítulo se abordará la historia de Java, su evolución, su filosofía y entornos de
desarrollo así como los distintos IDEs (interfaz de entorno de desarrollo) desde consola
hasta las aplicaciones móviles haciendo referencia al IDE NetBeans pues este IDE
constituye el enfoque sobre el cual se fundamenta este manual.
¿QUÉ UTILIDAD TIENE ESTE PROGRAMA?
Existe un gran número de aplicaciones y sitios Web que no funcionan a menos que
Java esté instalado, y muchas más que se crean a diario. Java es rápido, seguro y fiable.
De portátiles a centros de datos, de consolas de juegos a superequipos científicos, de
teléfonos móviles a Internet, Java está en todas partes.
4
|
EXPRESIONES
Las expresiones son un conjunto de elementos o tokens junto con literales que son
evaluados para devolver un resultado. Los tokens son elemento más pequeño de un
programa que es significativo, e interpretado o entendido por el compilador, en java
los tokens se dividen en cinco categorías que son:
Identificadores: Son las representaciones que se les da a los nombres que se asignan a
las variables, clases, paquetes, métodos y constantes en el código de java para que el
compilador los identifique y el programador pueda entenderlos. En java los
identificadores pueden diferenciar entre mayúsculas o minúsculas por ser case
sensitive, por lo que la variable cuyo nombre sea “Mivariable”, no es igual a
“mivariable”, ya que java identifica estas como variables diferentes por el case
sensitive, también se puede utilizar números, o el signo “_” para asignar un
identificador.
abstract boolean break byte case
catch char class continue default
do double else extends false
final finally float for if
implements import instanceof int interface
long native new null package
private protected public return short
static super switch syncronized this
throw throws transient true try
5
|
void volatile while var rest
byvalue cast const future generic
goto inner operator outer
Las palabras que se encuentran en negrilla, son palabras claves para java aunque
actualmente no se utilicen en la versión de java, pero se pretenden integrar en las
siguientes versiones de java.
Literales y constantes: Los literales son sintaxis para asignar valores a una variable, es
decir el valor que puede tomar una variable, también es un valor constante que puede
ser de tipo numérico. Las constantes son variables que tienen un valor fijo y no puede
ser modificado en el trascurso de la ejecución del código, estas se declaran por medio
de los modificadores final y static.
final static double pi= 3.1416;
OPERADORES
Los operadores son aquellos que tras realizar una operación devuelven un resultado,
estos se puede caracterizar por el número de operadores, el tipo de operandos, y el
resultado que generan.
Número de operandos. Pueden ser de dos tipos unarios, y binarios. Los unarios son
aquellos que solo necesitan de un operando para devolver un valor, mientras que los
binarios necesitan de dos o más operandos.
Operadores unarios.
Operador Descripción
- Cambio de signo
! Operador NOT
~ Complemento a 1
6
|
OPERADORES BINARIOS.
Operadores Descripción
+ - * / % Operadores aritméticos
== != < > <= >= Operadores relacionales
&& || ^ Operadores booleanos
^ << >> >>> Operadores a nivel de bit
+ Concatenación de cadenas
PRECEDENCIA DE OPERADORES
Los operadores son una parte principal en las expresiones, el tipo y forma de uso es
fundamental a la hora de programas, pero para su uso se tiene que tener en cuenta
una serie de normas, como lo son la precedencia de los operadores.
Tipo de operadores Operadores
Operadores posfijos [ ] . ( parámetros) expr++ expr--
Operadores unarios ++expr –expr +expr -expr ~ !
Creación o conversión New (tipo) expr
Multiplicación * / %
Suma + -
Desplazamiento << >> >>>
Comparación < > <= >= instanceof
Igualdad == !=
AND a nivel bit &
OR a nivel bit |
XOR a nivel bit ^
AND lógico &&
OR lógico ||
Condicional ? :
Asignación = += -= *= /= %= &= ^= |= <<= >>= >>>=
Un ejemplo de la precedencia de los operadores en java podría ser el siguiente, en
donde tenemos un código que se encargará de realizar una serie de operaciones
aritméticas.
7
|
int numero1 = 3;
int numero2 = 4;
int resultado;
resultado = numero1 + numero2 * 3;
System.out.println (resultado); //esto imprime el valor de 15
según la precedencia de los operadores la multiplicación * tiene mayor prioridad que
la suma +, por lo que primero se ejecuta la multiplicación y luego se realiza la suma.
int numero1 = 3;
int numero2 = 4;
int resultado;
resultado = (numero1 + numero2) * 3;
System.out.println (resultado); //esto imprime el valor de 21
En este caso el resultado cambia ya que primero se evalúan los parámetros que están
dentro del paréntesis y luego se evalúa el resto de parámetros. Una de las
recomendaciones que da java para el desarrollo es el uso de los paréntesis en las
operaciones con más de 3 operandos, así de esta forma el código se hace más legible y
se evitan errores al momento de compilar.
SENTENCIAS
Las sentencias son una representación de una secuencia de acciones que se realizan en
java, la clave fundamental de las sentencias es su punto final que indica que ha
finalizado la sentencia y puede continuar con la siguiente, el indicador utilizado es el
signo de punto y coma (;). Contamos en java con sentencias que pueden ir desde
sentencias de asignación, de bucles, condicionales, y de salto. Las sentencias se
conforman comúnmente por una instancia, y un operador, un ejemplo es la sentencia
de asignación que se conforma por una instancia de una variable, el signo de
asignación y una expresión, un ejemplo es:
Las sentencias de asignación son aquellas en las que se asigna un valor a una variable o
constante. Las sentencias condicionales son las que expresan una condición para
definir el flujo de ejecución del programa, entre ellas tenemos if-else y switch. Las
sentencias de bucles se encargar de realizar una acción cierta cantidad de tiempo
dado, o hasta que se cumpla con una condición, entre ellas tenemos el while, do-while,
y for. Las sentencias de salto llevan al compilador a un punto específico del programa o
8
|
hacia la siguiente sentencia de ejecución, entre ellas tenemos break, continue, y
return.
CONVERSIÓN DE TIPOS
En algunos casos suele ser necesario convertir un tipo de dato a otro, esto se le conoce
como conversión de tipos, modelado, o tipado, así de esta forma poder realizar las
operaciones necesarias sobre el valor que se desea convertir. Se debe tener en cuenta
el tipo de dato que se va a convertir, ya que si se convierte un dato que tenga una
cantidad menor de bit al anterior este tendrá perdida de información, un ejemplo de
tipado puede ser un número long que se desea convertir a int, el compilador eliminara
los primeros 32bit del long para ajustarlo al int ya que el int es de 32bit y el long de 64.
Si la conversión se realiza a un tipo de datos de menos bit a un tipo de datos con
mayor bit, la conversión se realiza automáticamente llamada conversión implícita,
pero si se realiza de un tipo de datos con mayor bit a menor bit se tiene que realizar
una conversión explicita, la cual se realiza con un casting, al usar este método se obliga
a realizar la conversión por lo cual puede haber perdida de datos en la conversión.
Para realizar una conversión explicita se tiene que poner el tipo de dato que se desea
realizar la conversión entre paréntesis, luego el valor o la variable que se desea
convertir. Un ejemplo de conversión de tipo explicito puede ser:
Int numero1 = 32;
byte numero2;
numero2 = (byte) numero1;
Las siguiente tabla muestra la los tipos de datos que se pueden realizar una conversión
implícita desde el dato origen, hasta el dato destino que es el dato en el que se va a
convertir.
Tipo origen Tipo destino
byte double, float, long, int, char, short
short double, float, long, int
char double, float, long, int
int double, float, long
long double, float
9
|
float double
Los tipos de datos booleanos no pueden ser convertidos a otro tipo de datos, por
ningún método mencionado anteriormente. Otro tipo de conversión que no se
encuentre en esta tabla desde el origen al destino, tiene que realizarse por medio de
una conversión explícita por casting. Cuando se desea realizar una conversión de un
tipo string como origen a otro tipo, es necesario utilizar una función que se encarga de
convertir el tipo de dato, la función necesaria se compone de la variable que va
almacenar el resultado, y dependiendo de la variable se usa el parámetro que inicia
con el tipo de dato a convertir, Integer, Byte, Short, o Long, seguida de punto “. “, el
cual indica que se cargarán los atributos del parámetro, en donde cargaremos el
parseInt si queremos convertir a interger o parseByte si queremos convertir a byte, o
dependiendo del tipo de dato, seguido de paréntesis en donde se agregara el valor de
string a convertir. Algunos ejemplos puede ser:
int numero1;
long numero2;
byte numero3;
String texto= “2013”;
numero1 = Integer.parseInt ( texto );
numero2 = Long.parseLong ( texto);
numero3 = Byte.parseByte ( texto );
esto suele ser usado para realizar una conversión de texto cuando se ingresan valores
numéricos por una entrada a java, la cual los detecta como string, así de esta forma
puede convertir el texto que se ingresa a un número para realizar operaciones, como
una calculadora.
CARACTERÍSTICAS
 Lenguaje totalmente orientado a Objetos. Todos los conceptos en los que se
apoya esta técnica, encapsulación, herencia, polimorfismo, etc., están presentes
en Java.
 Disponibilidad de un amplio conjunto de bibliotecas. Como ya se mencionó
anteriormente, Java es algo más que un lenguaje. La programación de aplicaciones
con Java se basa no solo en el empleo del juego de instrucciones que componen el
10
|
lenguaje, sino, fundamentalmente, en la posibilidad de utilizar el amplísimo
conjunto de clases que Sun pone a disposición del programador y con las cuales es
posible realizar prácticamente cualquier tipo de aplicación.
 Lenguaje simple. Java posee una curva de aprendizaje muy rápida. Resulta
relativamente sencillo escribir applets interesantes desde el principio. Todos
aquellos familiarizados con C++ encontrarán que Java es más sencillo, ya que se
han eliminado ciertas características, como los punteros. Debido a su semejanza
con C y C++, y dado que la mayoría de la gente los conoce aunque sea de forma
elemental, resulta muy fácil aprender Java. Los programadores experimentados en
C++ pueden migrar muy rápidamente a Java y ser productivos en poco tiempo.
 Seguro (?). Dada la naturaleza distribuida de Java, donde las applets se bajan
desde cualquier punto de la Red, la seguridad se impuso como una necesidad de
vital importancia. A nadie le gustaría ejecutar en su ordenador programas con
acceso total a su sistema, procedentes de fuentes desconocidas. Así que se
implementaron barreras de seguridad en el lenguaje y en el sistema de ejecución
en tiempo real.
 Portable. La indiferencia a la arquitectura representa sólo una parte de su
portabilidad. Además, Java especifica los tamaños de sus tipos de datos básicos y
el comportamiento de sus operadores aritméticos, de manera que los programas
son iguales en todas las plataformas. Estas dos últimas características se conocen
como la Máquina Virtual Java (JVM).
 Dinámico. El lenguaje Java y su sistema de ejecución en tiempo real son dinámicos
en la fase de enlazado. Las clases sólo se enlazan a medida que son necesitadas. Se
pueden enlazar nuevos módulos de código bajo demanda, procedente de fuentes
muy variadas, incluso desde la Red.
 Produce applets. Java puede ser usado para crear dos tipos de programas:
aplicaciones independientes y applets. Las aplicaciones independientes se
comportan como cualquier otro programa escrito en cualquier lenguaje, como por
ejemplo el navegador de Web HotJava, escrito íntegramente en Java. Por su parte,
11
|
las applets son pequeños programas que aparecen embebidos en las páginas Web,
como aparecen los gráficos o el texto, pero con la capacidad de ejecutar acciones
muy complejas, como animar imágenes, establecer conexiones de red, presentar
menús y cuadros de diálogo para luego emprender acciones, etc.
CLASES
En cuanto a lo que respecta a clases, todas son casi imprescindibles de conocer, ya que
son básicas y por eso están en el paquete java.lang pero vamos a destacar unas
cuantas por considerarlas principales.
BOOLEAN
La clase Boolean ya la conocemos. Es lo que se llama un wrap o envoltorio, que es una
clase que permite manejar los datos equivalentes de tipo primitivo. En este caso la
clase Boolean es un wrap del tipo primitivo boolean. Los métodos de esta clase
permiten el manejo de los valores primitivos true o false, su modificación o su
comparación ya que implementa la interfaz Comparable.
DOUBLE
Es la clase wrap correspondiente al tipo primitivo double, por lo que lo métodos son
muy parecidos a los de la clase Boolean, pero manejando los tipos primitivos para
double. Permitiendo obtener, modificar, comparar, etc valores de tipo double.
FLOAT
Al igual que las anteriores también es
un wrap pero para el tipo básico o
primitivo float.
INTEGER
Esta es quizás la clase de todos los
wrappers más utilizada con diferencia
12
|
y por tanto maneja tipos primitivos de tipo int. Tiene una gran cantidad de métodos
sobre todo para poder convertir el entero a otros tipos como long, float, double, etc.
MATH
La clase Math tiene una gran cantidad de métodos para poder hacer operaciones
matemáticas, como las funciones sin (double a) que calcula el seno del valor a, tan
(double a) que calcula la tangente de a, etc.
STRING
La clase String, quizás hasta más utilizada que la Integer, es una clase que permite la
definición y manejo de cadenas de caracteres. Pero un inconveniente posible es que se
define como constante y tras su creación no puede ser cambiada (se dice que es
inmutable, como explicaremos más adelante).
Por ejemplo si quisiéramos tener una cadena con valores “abc” bastaría con definir
una variable de la Clase String de la siguiente manera:
String str = "abc";
Esto automáticamente es correcto aunque quizás fuera más formal lo siguiente:
char data[] = {'a', 'b', 'c'};
String str = new String(data);
La amplia funcionalidad y manejo de String se puede ver en la gran cantidad de
métodos que disponemos en esta clase para su manejo, donde podemos hacer
comparaciones entre cadenas, comparaciones ignorando mayúsculas (muy útil cuando
por ejemplo queremos comparar si la contraseña de un usuario es la correcta),
concatenación de cadenas, consulta de carácter en una posición determinada de la
cadena, reemplazar caracteres, convertir a mayúsculas, o minúsculas, etc.
13
|
CONCEPTO DE INMUTABILIDAD
Veamos el significado de inmutable, que no es precisamente sencillo de explicar.
Consideremos que un objeto ocupa un espacio de memoria. Ahora diremos que hay
dos tipos de objetos:
a) Objetos mutables: son aquellos cuyo espacio de memoria puede ser reemplazado
por un contenido definido con posterioridad a la creación del objeto. En este caso,
cuando usamos métodos modificadores es el objeto original el que sufre el cambio.
b) Objetos inmutables: son aquellos cuyo espacio de memoria permanece ocupado
con el objeto tal y como se creó inicialmente. ¿Significa esto que no podemos usar
métodos modificadores? No, no significa eso. Significa que cuando usamos métodos
modificadores en vez de redefinirse el objeto original, la variable apuntadora pasa a
apuntar a un nuevo objeto que se crea, permaneciendo el original en su espacio de
memoria, podemos decir que en algunos casos “inaccesible”, pero estando.
En Java, la mayoría de los objetos "esenciales" son inmutables: Long, Integer, Boolean,
String, , etc. Un objeto se considera inmutable si su estado no puede cambiarse luego
de ser construido. Este comportamiento está ampliamente aceptado como una
estrategia robusta para crear código simple y confiable. La inmutabilidad se considera
efectiva en aplicaciones concurrentes (hablamos de concurrencia para referirnos a dos
tareas que transcurren durante el mismo intervalo de tiempo) donde la mutabilidad
(cambiar los objetos su estado), podría dar lugar a que los objetos se corrompieran o
llegaran a tener un estado inconsistente.
STRINGBUFFER
Es una versión mejorada o ampliada de la clase String, ya que permite su modificación
después de su creación, es decir, los objetos de tipo StringBuffer son objeto mutables.
El método más utilizado de esta clase es insert, que permite insertar cualquier objeto
de cualquier tipo como String a la secuencia de StringBuffer.
14
|
SYSTEM
Por último la clase System es una de las clases más usuales. Define tres campos err, in
y out que respectivamente son la salida estándar de error, entrada estándar y salida
estándar. Los métodos para el manejo de estas entradas y salidas estándares de datos
son bastante utilizados, al igual que el método currentTimeMillis() que devuelve la
fecha actual en milisegundos. También es muy usual el uso del métodogetenv() para
acceder a variables de entorno o propiedades del sistema. Cuando se invoca este
método, se nos devuelve información sobre el sistema con que estamos trabajando.
¿QUÉ ES NETBEANS?
NetBeans es un proyecto exitoso de código abierto con una gran base de usuarios, una
comunidad en constante crecimiento, y con cerca de 100 socios (¡y creciendo!) en todo
el mundo. Sun MicroSystems fundó el proyecto de código abierto NetBeans en junio
2000 y continúa siendo el patrocinador principal de los proyectos.
NetBeans IDE es un entorno de desarrollo - una herramienta para que los
programadores puedan escribir, compilar, depurar y ejecutar programas. Está escrito
en Java - pero puede servir para cualquier otro lenguaje de programación. Existe
además un número importante de módulos para extender el NetBeans IDE. NetBeans
IDE es un producto libre y gratuito sin restricciones de uso.
15
|
En una ventana posterior daremos
nombre al proyecto y escogeremos una
ubicación en el disco para almacenarlo.
También nos dará la opción para crear
automáticamente una clase principal, la
que hasta ahora hemos llamado Test, y
que aquí por defecto se llamará Main.
Una vez hecho esto, la ventana de
trabajo nos resultará sin duda compleja,
pero también familiar:
NetBeans nos ofrece un esqueleto de
clase Main, que podemos utilizar para hacer nuestra primera prueba. Por defecto,
NetBeans compila automáticamente los archivos en el momento en que los grabas
(icono del diskette), de forma que únicamente necesitamos utilizar el botón que
representa una flecha
verde, como el play de
un mando a distancia.
Verás el resultado de la
ejecución en la ventana
inferior:
16
|
BIBLIOTECAS DE JAVA, que son el resultado de compilar el código fuente
desarrollado por quien implementa la JRE, y que ofrecen apoyo para el desarrollo en
Java. Algunos ejemplos de estas bibliotecas son:
- Las bibliotecas centrales, que incluyen una colección de bibliotecas para implementar
estructuras de datos como listas, arrays, árboles y conjuntos.
- Bibliotecas para análisis de XML.
- Seguridad: Bibliotecas de internacionalización y localización.
- Bibliotecas de integración, que permiten la comunicación con sistemas externos.
Estas bibliotecas incluyen: La API para acceso a bases de datos JDBC (Java DataBase
Conectivity). La interfaz JNDI (Java Naming and Directory Interface) para servicios de
directorio. RMI (Remote Method Invocation) y CORBA para el desarrollo de
aplicaciones distribuidas.
- Bibliotecas para la interfaz de usuario, que incluyen: El conjunto de herramientas
nativas AWT (Abstract Windowing Toolkit), que ofrece componentes GUI (Graphical
User Interface), mecanismos para usarlos y manejar sus eventos asociados. Las
Bibliotecas de Swing, construidas sobre AWT pero ofrecen implementaciones no
nativas de los componentes de AWT.
- Plugins o conectores que permiten ejecutar applets en los navegadores Web.
- Java Web Start, para la distribución de aplicaciones Java a través de Internet.
- Documentación y licencia.
SINTAXIS
La sintaxis de Java se deriva en gran medida de C++. Pero a diferencia de éste, que
combina la sintaxis para programación genérica, estructurada y orientada a objetos,
Java fue construido desde el principio para ser completamente orientado a objetos.
Todo en Java es un objeto (salvo algunas excepciones), y todo en Java reside en alguna
17
|
clase (recordemos que una clase es un molde a partir del cual pueden crearse varios
objetos).
CÓDIGO BÁSICO EN JAVA
En lenguaje de programación java, absolutamente todo es un objeto. Así desde el
programa principal, las librerías que usemos, y archivos extras que integremos serán
clases para crear objetos, un programa básico en java necesita tener las siguientes
lineas:
La primer linea dice public class HolaMundo es la declaración de la clase:
• public especifica el nivel de acceso, esto quiere decir que la clase sera accesible por
cualquier elemento. También están los niveles private y protected
• class: especifica que es una clase.
• HolaMundo: es el nombre de la clase, tomar en cuenta que el nombre del archivo
debe ser igual al nombre de la clase que contiene el método (función de clase)
principal (main). Deben respetarse mayúsculas y minúsculas.
La segunda linea de código public static void main(String[ ] args) es la declaración de el
método principal de la aplicación de java:
• public: especifica el nivel de acceso a la método, esto quiere decir que es accesible
por cualquier método que pueda acceder a la clase de objetos .
• static: especifica que la función principal solo sera creada una vez, e invocada desde
la clase.
• void: dice que el retorno de este método sera de tipo genérico (flujo de bits),
convertible a cualquier tipo de dato.
• main: nombre del método, para este caso este nombre se reserva para el método
principal y sera usado como punto de inicio de la aplicación.
18
|
• String[ ] args: arreglo de parámetros al programa (en caso que se invoque por linea
de comandos).
• System: es una clase estándar java para llamadas al sistema, en esta se encuentras
las operaciones básicas de entrada y salida.
• out: es una clase declarada dentro de system, y se encarga de manejar las salidas
estándar del sistema, por lo general el monitor
• println: es un método de la clase out que recoge como argumento el texto que se
imprimirá en Pantalla Para poner en marcha todo hay que hacer los siguiente:
1. Editar este código en un archivo de texto el cual debe ser guardado con un nombre
como la clase principal, para este caso el archivo se llamara HolaMundo.java.
2. Luego se debe de compilar el archivo con el comando javac, este creara el archivo
HolaMundo.class. Este contiene los bytecodes que interpretara el JVM.
3. Por ultimo ejecutamos el archivo con el JVM por medio del comando java,
mandandole como parámetro el nombre de la aplicación que se creo en el numeral
anterior.
Cómo crear una aplicación nueva
menú Archivo y después pulsaremos en Nuevo proyecto.
19
|
Aparecerá una pantalla en
la que tenemos que
seleccionar qué tipo de
proyecto queremos
realizar. Seleccionaremos
la categoría Java y en el
panel de la derecha Java
Application. Después
pulsamos Next.
En la siguiente pantalla se nos preguntará por las propiedades generales del proyecto:
nombre, la carpeta donde lo queremos guardar, si queremos utilizar una carpeta
específica para guardar las librerías, si queremos crear una clase principal y si
queremos establecerla como proyecto principal.
Las opciones de arriba las podéis configurar como queráis, dejad la casilla de las
librerías desmarcada, y por último, como vemos en la fotografía, activaremos las dos
casillas de la parte inferior. Esto es necesario para que el sistema sepa que lo que
vamos a escribir será lo que tenga que ejecutar cuando finalicemos. En el cuadro de
texto he escrito “HolaMundo”, que será la aplicación que hayamos creado. Por último
pulsamos en
Finish.
La ventana de
proyectos
20
|
Ventana de código
Todo lo que aparece en color gris claro son comentarios. Es muy importante que nos
acostumbremos a realizar comentarios en nuestros programas. Esto tiene muchas
utilidades como poder recordar mejor en un futuro qué es exactamente lo que hacía
este código y también que si otra persona lo ve, pueda entender mejor cómo resuelve
el problema nuestro programa.
Para hacer un comentario de varias líneas usaremos /* para iniciarlo y */ para
finalizarlo. Si vamos a hacer un comentario de una sóla línea podemos comenzarlo por
//
En la línea 11 definimos la clase
holamundo, el cuerpo de la clase
queda encerrado entre { y},
cualquier cosa que coloquemos
entre esas llaves será el código
que pertenezca a la clase
holamundo.
21
|
En la línea 16 se ha iniciado el método principal main. Cuando se ejecuta una
aplicación, Java espera que haya un método main, ya que será lo primero que ejecute.
Este método define el punto de entrada y salida de la aplicación.
La clase define los atributos y métodos comunes a los objetos de ese tipo, pero luego,
cada objeto tendrá sus propios valores y compartirán las mismas funciones.
Debemos crear una clase antes de poder crear objetos (instancias) de esa clase. Al
crear un objeto de una clase, se dice que se crea una instancia de la clase o un objeto
propiamente dicho.
La estructura de una clase es:
class [nombre de la clase] {
[atributos o variables de la clase]
[métodos o funciones de la clase]
[main]
}
22
|
BIBLIOGRAFÍA.
http://recursostic.educacion.es/observatorio/web/ca/software/programacion/911-
monografico-java?start=2
http://es.wikipedia.org/wiki/Java_(lenguaje_de_programaci%C3%B3n)
http://es.wikibooks.org/wiki/Programaci%C3%B3n_en_Java/Caracter%C3%ADsticas_d
el_lenguaje
http://www.aprenderaprogramar.com/index.php?option=com_content&view=article
&id=583:el-paquete-javalang-interfaces-clases-string-integer-stringbuffer-concepto-
de-inmutabilidad-cu00909c&catid=58:curso-lenguaje-programacion-java-nivel-
avanzado-i&Itemid=180
23
|
UNIVERSIDAD TÉCNICA DE AMBATO
FACULTAD DE CIENCIAS HUMNAS Y DE LA
EDUCACIÓN
Carrera: Docencia en Informática
Modalidad Presencial
Tercer Semestre
PROGRAMACIÓN II
EJERCICIOS RESUELTOS DE
JAVA EN NETNEANS
Docente: Ing. Wilma Gavilanes.
Estudiante: Zapata Suarez Jhoselyn Ayneth
AMBATO – ECUADOR
Período: Febrero 2014-Agosto.
24
|
ENUNCIADO
Utilizando el lenguaje de programación orientado a objetos JAVA realizar una
suma ingresando dos números enteros desde teclado
ANÁLISIS
Este programa nos permite relizar la suma ded dos números ingresados por
teclado mediante la función JOptionPane.showInputDialog y luego la
convertimos en dato en tero con la función Integer.parseInt(); y realizamos la
respectiva suma e imprimimos la respuesta con la función
JOptionPane.showMessageDialog(null," " + );
CODIFICACIÓN
package sumadenumeros1;
import javax.swing.JOptionPane;
/**
*
* @author Lab03-PC02
*/
public class Sumadenumeros1 {
/**
* @param args the command line arguments
*/
public static void main(String[] args)
{
String dato1, dato2;
int num1, num2, num3;
dato1=JOptionPane.showInputDialog("Ingrese el dato 1..: ");
num1=Integer.parseInt(dato1);
dato2=JOptionPane.showInputDialog("Ingrese el dato 2..: ");
num2=Integer.parseInt(dato2);
num3=num1+num2;
JOptionPane.showMessageDialog(null,"la suma es..: " + num3);
// TODO code application logic here
}
}
Nombre del programa o proyecto
Librería
Inicio del programa
Declaración de variables de tipo
caracter
Ingresamos el 1er
numero
Ingresamos el 2do
numero
Operación para hacer la suma
Visualizamos el
resultado
25
|
CORRIDO
ENUNCIADO:
Diseñar un programa en JAVA que me permita resolver las operaciones
básicas.
ANÁLISIS:
Codificaremos un programa que realice las operaciones básicas (suma, resta,
multiplicación, división), para lo cual en la suma y multiplicación no tendremos
problema ya no importa si el primer término o el segundo término sea mayor o
menor, a diferencia de la resta y la división que el primer término deberá ser
mayor que el segundo, para esto utilizaremos un controlador en estos dos
casos; y un suitch para una mejor presentación.
CÓDIFICACION
package operacionesbasicas;
import javax.swing.JOptionPane;
public class Operacionesbasicas {
public static void main(String[] args) {
String d1,d2,d3,d4,d5;
int op,n,m,a,b,c,op1;
Importación de librerías
del programa
Declaración de variables
26
|
do
{
d1=JOptionPane.showInputDialog("**OPERACIONES BASICAS**"+"n 1.-SUMA"+"n 2.-
RESTA"+"n 3.-MULTIPLICACION"+"n 4.-DIVISION"+"n 5.-SALIR");
op=Integer.parseInt(d1);
switch(op)
{
case 1:
d2=JOptionPane.showInputDialog("SUMAn"+"INGRESE EL PRIMER DATO : ");
n=Integer.parseInt(d2);
d3=JOptionPane.showInputDialog("INGRESE EL SEGUNDO DATO : ");
m=Integer.parseInt(d3);
c=n+m;
JOptionPane.showMessageDialog(null,"RESPUESTA : "+c);
break;
case 2:
d2=JOptionPane.showInputDialog("RESTAn"+"INGRESE EL PRIMER DATO : ");
n=Integer.parseInt(d2);
do
{
d3=JOptionPane.showInputDialog("INGRESE EL SEGUNDO DATO : ");
m=Integer.parseInt(d3);
}while(n>m);
c=n-m;
JOptionPane.showMessageDialog(null,"RESPUESTA : "+c);
break;
case 3:
d2=JOptionPane.showInputDialog("MULTIPLICACION
n"+"INGRESE EL PRIMER DATO : ");
n=Integer.parseInt(d2);
d3=JOptionPane.showInputDialog("INGRESE EL SEGUNDO DATO : ");
m=Integer.parseInt(d3);
c=n*m;
JOptionPane.showMessageDialog(null,"RESPUESTA : "+c);
break;
case 4:
d2=JOptionPane.showInputDialog("DIVICIONn"+"INGRESE EL PRIMER DATO : ");
n=Integer.parseInt(d2);
do
{
d3=JOptionPane.showInputDialog("INGRESE EL SEGUNDO DATO : ");
m=Integer.parseInt(d3);
}while(n>m);
c=n/m;
JOptionPane.showMessageDialog(null,"RESPUESTA : "+c);
Inicio del ciclo do
Impresión del Menú de
Opciones
Inicio del switc
Case 1 en este case
esta el proceso para la
suma con
impresiones, proceso
y una ultima
impresión para el
resultado.
Case 1 en este case
esta el proceso para la
resta con impresiones,
proceso y una ultima
impresión para el
resultado. Con un
control de ingreso
Case 1 en este case
esta el proceso para la
multiplicación con
impresiones, proceso
y una ultima
impresión para el
resultado
Case 1 en este
case esta el
proceso para la
división con
impresiones,
proceso y una
ultima impresión
para el resultado.
Con un control
27
|
break;
}
d5=JOptionPane.showInputDialog("DESEA REPETIR 1 O 0 PARA SALIR: ");
op1=Integer.parseInt(d5);
}while(op1==1);
}
}
CORRIDO
Fin del ciclo do while
Llaves de finalización del programa
28
|
ENUNCIADO
Diseñe un programa que me permita ingresar los datos correspondientes para
obtener el área y el perímetro de las 4 figuras básicas.
ANÁLISIS
Para calcular el área del cuadrado solo debo ingresar un lado y multiplicarlo
(área=l*l) mientras que para el perímetro lo sumo cuatro veces
(perímetro=l+l+l+l). Para el rectángulo, calcular el área es muy simple, solo
debo multiplicar la base por su altura, para el perímetro debo en cambio sumar
todos sus cuatro lados. Para calcular el área del triángulo debemos multiplicar
la base por su altura dividido para 2, para calcular el perímetro debemos sumar
todos sus tres lados. Ahora para el círculo solo hace falta ingresar el radio (el
perímetro es el doble del radio), su perímetro se calcula multiplicando el
diámetro por pi (PI 3.14159265) y el área se encuentra multiplicando pi por
radio al cuadrado.
DOCUMENTACIÓN
package fig_bas;
import javax.swing.JOptionPane;
import fig_bas.figuras;
public class Fig_bas {
public static void main(String[] args)
{
String opc;
int menu, cua, rect, circ, trian;
opc=JOptionPane.showInputDialog("FIGURAS BÁSICAS
nn1.- Cuadrado n2.- Rectángulo n3.- Círculo n4.- Triángulo
n5.- Salir nnQue desea realizar");
menu=Integer.parseInt(opc);
switch(menu)
{
case 1:
cua=figuras.cuadrado();
break;
case 2:
rect=figuras.rectandulo();
break;
Importación de librerías
del programa
Inicio del programa principal
Declaración de variables
Menú de opciones
Inicio del menú de opciones
Case 1: para encontrar el perímetro y
el área de un cuadrado
Case 2: para encontrar el perímetro y
el área de un rectángulo
29
|
case 3:
circ=figuras.circulo();
break;
case 4:
trian=figuras.triangulo();
break;
case 5:
System.exit(0);
break;
}
}
}
package fig_bas;
import javax.swing.JOptionPane;
public class figuras
{
public static int cuadrado()
{
String lado;
int l, per, ar;
lado=JOptionPane.showInputDialog("Ingrese el
lado del cuadrado: ");
l=Integer.parseInt(lado);
per=l*4;
ar=l*l;
JOptionPane.showMessageDialog(null, "PERIMETRO
DEL CUADRADO= " + per);
JOptionPane.showMessageDialog(null, "ÁREA DEL
CUADRADO= " + ar);
return 0;
}
public static int rectandulo()
{
String lado1, lado2;
int l1, l2, ar, per;
lado1=JOptionPane.showInputDialog("Ingrese la base
del rectángulo");
l1=Integer.parseInt(lado1);
lado2=JOptionPane.showInputDialog("Ingrese la altura
del rectángulo");
l2=Integer.parseInt(lado2);
per=l1*2+l2*2;
ar=l1*l2;
Case 3: para encontrar el perímetro y
el área de un círculo
Case 4: para encontrar el perímetro y
el área de un triángulo
Case 5: para l salir del menú
Clase (subprograma) para
calcular el perímetro y el
área de un cuadrado.
Clase (subprograma) para
calcular el perímetro y el
área de un rectángulo.
Inicio para crear
clases.
30
|
JOptionPane.showMessageDialog(null, "PERIMETRO
DEL RECTÁNGULO= " + per);
JOptionPane.showMessageDialog(null, "ÁREA DEL
RECTÁNGULO= " + ar);
return 0;
}
public static int circulo()
{
String radio;
int r;
double pi, ar, per;
radio=JOptionPane.showInputDialog("Ingrese el radio
del círculo");
r=Integer.parseInt(radio);
pi=3.1416;
ar=pi*r*r;
per=2*pi*r;
JOptionPane.showMessageDialog(null, "ÁREAL DEL
CÍRCULO= " + ar);
JOptionPane.showMessageDialog(null, "PERIMETRO
DEL CÍRCULO= " + per);
return 0;
}
public static int triangulo()
{
String lado1, lado2, lado3;
int l1, l2, l3, per, ar;
lado1=JOptionPane.showInputDialog("Ingrese la base
del triángulo");
l1=Integer.parseInt(lado1);
lado2=JOptionPane.showInputDialog("Ingrese la altura
del triángulo");
l2=Integer.parseInt(lado2);
lado3=JOptionPane.showInputDialog("Ingrese el lado
restante del triángulo");
l3=Integer.parseInt(lado3);
per=l1+l2+l3;
ar=(l1*l2)/2;
JOptionPane.showMessageDialog(null, "PERIMETRO
DEL TRIÁNGULO= " + per);
JOptionPane.showMessageDialog(null, "ÁREA DEL
TRIÁNGULO= " + ar);
return 0;
Clase (subprograma) para
calcular el perímetro y el
área de un círculo.
Clase (subprograma) para
calcular el perímetro y el
área de un triángulo.
31
|
}
}
CORRIDO
32
|
ENUNCIADO
Diseñe un programa que me permita realizar la potenciación y radicación.
ANALISIS
En este programa podemos realizar la potenciación y la radicación; para la
potenciación debemos declarar los variables de tipo carácter y de tipo enteras,
luego ingresamos la base y el exponente por teclado; por ultimo realizamos el
proceso de Math.pow(base, expo); para que se pueda realizar la potenciación,
por ultimo visualizamos la respuesta.
Para la radicación primero ingresamos un numero para poder realizar la
radicación, luego ingresamos la formula Math.sqrt(radicando); para que se
pueda realizar la radicación, por ultimo visualizamos la respuesta.
DOCUMENTACION
package poteyradi;
import javax.swing.JOptionPane;
public class PoteyRadi {
public static void main(String[] args)
{
String dato1, dato2;
double base, expo, resp;
JOptionPane.showMessageDialog(null,"Potenciacion");
dato1=JOptionPane.showInputDialog("Ingrese una base: ");
base=Integer.parseInt(dato1);
dato2=JOptionPane.showInputDialog("Ingrese el exponente: ");
expo=Integer.parseInt(dato2);
resp=Math.pow(base, expo);
JOptionPane.showMessageDialog(null, "El resultado es: "+resp);
JOptionPane.showMessageDialog(null,"Radicación");
double radicando, raiz;
dato1=JOptionPane.showInputDialog("Ingrese un indice: ");
radicando=Integer.parseInt(dato1);
raiz=Math.sqrt(radicando);
JOptionPane.showConfirmDialog(null,"La raiz es: "+raiz);
Nombre del programa o
proyecto Librerí
a
Inicio del
programa
Declaración de variables de tipo
Declaración de variables de tipo
Ingresamos la base
de la potenciación
Ingresamos el exponente
Formula o proceso para poder realizar la potenciación
Visualizamos el resultado
Ingresamos el
índice de la raíz
Formula o proceso para poder realizar la radicación
Visualizamos el resultado
33
|
}}
CORRIDO
ENUNCIADO
Diseñe un programa que me permita ingresar un número entero desde teclado
y verificar si el número es par o impar.
ANALISIS
Utilizamos un if para indicar la condición en donde preguntamos si el numero
ingresado nos da igual a cero entonces imprimimos que es para caso contrario
se imprime que el número es impar, también se utiliza otro if y un do while para
indicar el rango en el que queremos que se encuentren los números ingresados
por el usuario, y finalmente un sentencia do while para que el programa se
repita tantas veces desee el programador.
DOCUMENTACION
package par.impar;
Importación de librerías al programa
34
|
import javax.swing.JOptionPane;
public class PARIMPAR {
@SuppressWarnings("empty-statement")
public static void main(String[] args)
{
String dato1,dato2;
int num1,num2;
do
{
do
{
dato1=JOptionPane.showInputDialog("INGRESE EL NUMERO ");
num1=Integer.parseInt(dato1);
if(num1<6 ||num1>65)
{
JOptionPane.showMessageDialog(null,"EL NUMERO "+num1+" NO ESTA DENTRO DEL
RANGO");
}
}
while(num1<6 || num1>65);
if(num1%2==0)
{
JOptionPane.showMessageDialog(null,"EL NUMERO "+num1+" ES PAR ");
}
else
{
JOptionPane.showMessageDialog(null,"EL NUMERO "+ num1+" ES IMPAR ");
}
dato2=JOptionPane.showInputDialog("PRESIONE 1 PARA SALIR 0 PARA VOLVER");
num2=Integer.parseInt(dato2);
}
Declaración de las variables tanto String como enteras.
Sentencia repetitiva que en este caso se utiliza para
repetir el programa las veces que desee el usuario.
Este do while lo utilizamos para validar datos.
Pedimos que ingrese el número.
Utilizamos la condición if para
validar los datos.
Si la condición no se cumple indicamos un mensaje entonces pedimos
que ingrese otro número y cerramos la condición if.
Cerramos la sentencia do while e indicamos el rango que
queremos en el que se encuentre los números.
Utilizamos la condición if para determinar si es para o impar.
Si la condición se cumple imprimimos que es par y cerramos las llaves.
Caso contrario, abrimos llaves.
Se imprime que es impar y cierra las llaves.
Escribimos un mensaje para repetir o no el programa.
Se cierra la sentencia do while que permite repetir el proceso
varias veces.
Paquete del programa.
35
|
while(num2==1);
}
}
CORRIDO
Cierra completamente el programa.
36
|
ENUNCIADO:
6.- Diseñe un programa que me permita ingresar 3 valores flotantes desde
teclado que estén entre 1 y 10, obtenga el promedio correspondiente y
determine su equivalencia: aprobado, reprobado y suspenso
Si el promedio es > = 7 Aprobado
Si el promedio es > 5 y < 7 Suspenso
Si el promedio es < = 5 Reprobado
ANALISIS
Debemos llamar a las librerías para que se habilite procesos propios del
programa, luego ingresaremos los datos como: nombre, materia, y las tres
notas las cuales son validadas que deben estar entre uno y diez ;para lo cual
utilizaremos un do While y una condición si nos cumple pondremos un mensaje
para que ingrese nuevamente la nota.
Después haremos los cálculos y si la nota es mayor de siete aprobara e
imprimirá el nombre su promedio y la materia.
Si su nota es menor de siete y mayor que cinco se queda a suspenso e
imprimirá el nombre su promedio y la materia.
Si la nota es menor que cinco pues reprobara la materia e imprimirá el nombre
su promedio y la materia
Y por último utilizaremos otro do While para repetir el proceso las veces que el
usuario desee.
DOCUMENTACION
package prom
ediovalidacion;
import javax.swing.JOptionPane;
public class Promediovalidacion {
Importación de librerías
del programa
37
|
public static void main(String[] args)
{
String dato1, dato2,dato3,dato4, nom, mat;
float num, nombre, materia, nota1, nota2, nota3,pro;
int op;
do {
nom=JOptionPane.showInputDialog("INGRESE EL NOMBRE:");
mat=JOptionPane.showInputDialog("INGRESE EL MATERIA:");
do {
dato1= JOptionPane.showInputDialog("INGRESE LA NOTA1:");
nota1= Float.parseFloat(dato1);
if(nota1<1||nota1>11) {
JOptionPane.showInputDialog("VALOR INCORRECTO:");
} }
while(nota1<1||nota1>11);
do {
dato2= JOptionPane.showInputDialog("INGRESE LA NOTA2:");
nota2= Float.parseFloat(dato2);
if(nota2<1||nota2>11) {
JOptionPane.showInputDialog("VALOR INCORRECTO:");
} }
while(nota2<1||nota2>11);
do {
dato3= JOptionPane.showInputDialog("INGRESE LA NOTA3:");
nota3= Float.parseFloat(dato3);
if(nota3<1||nota3>11) {
Ingreso de variables
Ingreso de datos
nombre y materia
del estudiante
Ingreso de la
primera nota
Condición de la nota ingresada
mensaje
Ingreso de la segunda
nota
Validación de la nota entre 1 y 10
mensaje
Condición de la nota ingresada
Validación de la nota entre 1 y 10
Ingreso de la tercera
nota
mensaje
38
|
JOptionPane.showInputDialog("VALOR INCORRECTO:");
} }
while(nota3<1||nota3>11);
pro= (nota1+nota2+nota3)/3;
JOptionPane.showMessageDialog(null,"EL PROMEDIO ES:"+pro );
if(pro>=7) {
JOptionPane.showMessageDialog(null, " ... APROBADO ...");
JOptionPane.showMessageDialog(null, "EL ESTUDIANTE: "+nom );
JOptionPane.showMessageDialog(null, "ESTA APROBADO CON: "+pro );
JOptionPane.showMessageDialog(null, "EN LA MATERIA DE: "+mat );
}
else { if(pro>=5&&pro<7) {
JOptionPane.showMessageDialog(null, "... SUSPENSO ...");
JOptionPane.showMessageDialog(null, "EL ESTUDIANTE: "+nom );
JOptionPane.showMessageDialog(null, "ESTA SUSPENSO CON: "+pro );
JOptionPane.showMessageDialog(null, "EN LA MATERIA DE: "+mat );
}
else {
JOptionPane.showMessageDialog(null, "... REPROBADO ...");
JOptionPane.showMessageDialog(null, "EL ESTUDIANTE: "+nom );
JOptionPane.showMessageDialog(null, "ESTA REPROBADO CON: "+pro );
JOptionPane.showMessageDialog(null, "EN LA MATERIA DE: "+mat );
} }
dato4= JOptionPane.showInputDialog("CONTINUAR1 TERMINAR 0:");
op= Integer.parseInt(dato4);
} while(op==1); }
Validación de la nota entre 1 y 10
Procesos promedio de notas
Impresión de
datos de
aprobado:
Nombre
Promedio
Condición de la nota >7
Impresión de
datos de
suspenso:
Nombre
Promedio
Impresión de
datos de
reprobado:
Nombre
Promedio
Ciclo
repetitivo n
veces para el
proceso.
39
|
CORRIDO
ENUNCIADO
Diseñe un programa que me permita ingresar desde teclado un límite y un
factor cualquiera y generar las tablas de multiplicar.
ANÁLISIS
En este programa podemos realizar las tablas de multiplicar; debemos declarar
los variables de tipo enteras, luego ingresamos el límite y el factor, por ultimo
visualizamos la respuesta.
DOCUMENTACION
public class Tabla {
public static void main(String[] args) {
String dato1,dato2,dato3,dato4;
int limite,factor,i,mult,op=0,opci,a,b,c,factorial;
do
{
JOptionPane.showMessageDialog(null, "
<< SERIE DE DATOS >> n" + "TABLA DE MULTIPLICAR");
Nombre del programa o proyecto
Declaración de variables String,
int
Ingreso de Datos
Inicio del ciclo do-while
40
|
dato1=JOptionPane.showInputDialog("INGRESE EL LIMITE:");
limite=Integer.parseInt(dato1);
dato2=JOptionPane.showInputDialog("INGRESE EL FACTOR:");
factor=Integer.parseInt(dato2);
for(i=1;i<=limite;i++)
{
mult=i*factor;
JOptionPane.showMessageDialog(null, "
LA TABLA DE MULTIPLICAR ES: n" + factor + "*" + i + " = " + mult);
}
dato3=JOptionPane.showInputDialog("
PULSE 1 PARA CONTINUAR O 0 PARA SALIR ");
op=Integer.parseInt(dato3);
}
while(op==1);
}
}
CORRIDO
Proceso de
multiplicación e
impresión de
resultado
Fin del ciclo do-while
41
|
ENUNCIADO
Diseñe un programa que me permita resolver un sistema de Ecuación de
Segundo Grado (ax^2 + bx +c)
ANÁLISIS
En este programa podemos realizar la Ecuación de Segundo Grado donde
debemos importar la librería principal que es import
javax.swing.JOptionPane; para este programa debemos declarar los
variables de tipo double, carácter y de tipo enteras, luego ingresamos los tres
valores posteriormente realizamos el proceso para poder sacar la ecuación
para esto debemos utilizar la formula Math.sqrt para poder sacar la raíz
cuadrada y por ultimo preguntamos si el usuario desea realizar nuevamente
otros procesos o si desea salir
DOCUMENTACIÓN
package ecuacion;
import javax.swing.JOptionPane;
public class Ecuacion {
public static void main(String[] args) {
String dato2;
int op ;
do
{
JOptionPane.showMessageDialog
(null,"ECUACION DE SEGUNDO GRADO" );
double a = Double.parseDouble
(JOptionPane.showInputDialog
("Ingrese el primer valor de a: "));
double b = Double.parseDouble
(JOptionPane.showInputDialog
("Ingrese el segundo valor de b: "));
double c = Double.parseDouble
Nombre del proyecto
Librería
Inicio del
programaDeclaración
de variables
Proceso de
repetición
Impresión de un
mensaje
Ingresamos los tres
valores
42
|
(JOptionPane.showInputDialog
("Ingrese el tercer valor de c: "));
double interno=b*b-(4*a*c);
if (interno==0){
double x1=-b/(2*a);
JOptionPane.showMessageDialog
(null, "Existe un valor doble: " + x1 ) ;
}
else
if(interno>0)
{
interno = Math.sqrt(interno);
x1=(-b+interno)/(2*a);
x2=(-b-interno)/(2*a);
JOptionPane.showMessageDialog
(null, "valor de x1 y x2: " + x1 +" n"+x2 );
x1=-b/(2*a);
double resultado= Math.sqrt((-interno/(2*a)));
JOptionPane.showMessageDialog
(null, "La raiz es imaginaria y vale: " + x1 +"
+"+ resultado + "i"+x1+"-"+resultado +"i" );
dato2= JOptionPane.showInputDialog
("Ingrese 1 para continuar y 0 pasa salir");
op= Integer.parseInt(dato2);
}
while(op==1);
}
}
}
CORRIDO
Realizamos el
proceso para sacar la
ecuación
Este es el proceso para
sacar la raíz cuadrada
de la ecuación
Visualizamos el
resultado
Proceso para que el
usuario realice otro
proceso o si desea salir
43
|
ENUNCIADO
Diseñe un programa que me permita calcular el valor total a pagar por consumo
de energía eléctrica considerando los siguientes parámetros, se leen el valor
anterior y el valor actual de consumo, en donde siempre el valor actual debe
ser mayor al valor anterior.
La diferencia entre los dos valores se devuelve el consumo actual. El costo por
vatio es $0,49
Existen 3 impuestos que se deben facturar:
3% Correspondiente a Bomberos
4% Correspondiente a taza municipal
2% otros
Visualice subtotales parciales u e total a pagar en una sola ventana
ANALISIS
Importación de bibliotecas principales que utilizaremos (import
javax.swing.JOptionPane; e importjava.text.DecimalFormat;).
Debemos declarar las variables String, double y formato para decimales.
Inicialización de ciclo do while para que el programa se repita n veces.
Ingreso del valor anterior e inicialización del ciclo do while.
Ingreso del valor actual, fin ciclo do while y validación del valor anterior debe
ser mayor que el valor actual.
44
|
Obtención de los impuestos de bomberos, taza municipal y otros los mismos
que su porcentaje será multiplicado y dividido para 100.
Impresión en una sola pantalla del consumo actual, anterior, real , costo, valor
del consumo e impuestos de bomberos, taza municipal, otros y finalmente el
total a pagar y finalización del ciclo do while principal y preguntamos si el
usuario desea realizar nuevamente otros procesos o si desea salir.
DOCUMENTACION
packageplanilla.de.luz;
importjava.text.DecimalFormat;
importjavax.swing.JOptionPane;
public static void main (String[] args)
{
String dato1, dato2, dato4;
double valor1, valor2, dif, cost,bomb,tasa,otros,tot,op ;
DecimalFormat f = new DecimalFormat ("00.00");
DecimalFormat g = new DecimalFormat ("0.00");
do
{
JOptionPane.showMessageDialog (null," << PLANILLA DE LUZ >> ");
dato1=JOptionPane.showInputDialog (" INGRESE EL VALOR ANTERIOR: ");
valor1=Integer.parseInt (dato1);
do
{
dato2=JOptionPane.showInputDialog ("<< INGRESE EL VALOR ACTUAL: ");
valor2=Integer.parseInt (dato2);
}
While (valor1>valor2);
Paquetes del programa
Importación de
librerías del programa
Declaración de variables
String y double
Impresión de titulo
Escaneo del
primer
valor
Escaneo del
segundo
valor
Inicio del ciclo do while
Validación del valor 1 y valor 2
Instrucción formato para
decimales
Inicio ciclo do while principal
45
|
Dif =valor2-valor1;
Cost=dif*0.89;
Bomb= (cost*3)/100;
Tasa= (cost*4)/100;
Otros = (cost*2)/100;
Tot=cost+bomb+tasa+otros;
JOptionPane.showMessageDialog (null," CONSUMO ANTERIOR: "
+valor1+"n CONSUMO ACTUAL: "
+valor2+ "n CONSUMO REAL: "
+ dif + "n COSTO: 0.89”
+ "n << VALOR CONSUMO: "
+ f.format (cost) +"n BOMBEROS (3%): "
+g.format (bomb) +"n TASA MUN (4%): "
+g.format (tasa)+"n OTROS (2%): "
+g.format (otros)+"n << TOTAL A PAGAR: "
+f.format (tot);
dato4=JOptionPane.showInputDialog ("PULSE 1 PARA CONTINUAR O 0 PARA SALIR ");
Op=Integer.parseInt (dato4);
}
While (op==1);
}
}
Procesos para operaciones
Impresión de
resultados
Escaneo de
opción para
repetición del
proceso
Fin ciclo do while validado a 1
Fin del programa
46
|
CORRIDO
47
|
ENUNCIADO
Diseñe una aplicación que me permita calcular el valor de las comisiones
ganadas de los vendedores de una empresa, según lo siguientes parámetros:
la empresa dispone de 3 vendedores que realizan las ventas de sus vehículos.
Las comisiones se las concede en función de los valores facturados:
Si el valor >= 8000 <=11000 Recibe una comisión de 3% de la venta
Si el valor >11000 <=25000 Recibe una comisión de 4,5% de la
venta
Si el valor >25000 <=45000 Recibe una comisión de 6 % de la
venta
Si el valor >40000 Recibe una comisión de 8,5% de la venta
Se necesita conocer el valor acumulado por cada vendedor y el valor total
generado por comisión
ANÁLISIS
Debemos importar las bibliotecas que vayamos a utilizar en el programa, en
este caso deberemos importar la librería principal (import
javax.swing.JOptionPane ;); Debemos declarar las variables string y las
variables enteras que necesitemos. En la variable de escoger una opción
imprimimos el menú que vamos a presentar para realizar los diferentes
procesos. Convertimos la variable escoger (de string) a entero y asignamos el
valor de correspondiente. Utilizamos un swtich para realizar cada proceso del
menú. En cada case debemos ingresar los dos valores que usaremos para las
operaciones y convertirlos a datos de tipo entero. Llamamos a la variable en
que almacenaremos el resultado que será igual al nombre de la clase que
usaremos y del bloque al que pertenece, ubicando entre paréntesis las
variables de los datos ingresados. Imprimimos la variable resultante del
proceso Utilizamos un do while para preguntar al usuario si desea volver a
realizar el proceso con diferentes valores Repetimos el proceso en cada case
48
|
con la variación de realizar las posteriores operaciones a la suma. En el último
case utilizamos una instrucción que nos permitirá salir del programa mientras
este corriendo, esto es: System.exit(0); Preguntamos si el usuario desea
realizar nuevamente otros procesos o si desea salir.
DOCUMENTACION
package comision;
import javax.swing.JOptionPane;
public class Comision {
public static void main(String[] args)
{
String ventj, ventmarc, ventmar, rept, opcion, opj;
int vjuan, vmarc, vmar, op, menu, numj=0, nummarc=0, nummar=0;
double comj=0, commarc=0, commar=0, comjuan=0, commarcelo=0,
commaria=0, totventj=0, totventm=0, totventma=0, total=0;
do
{
opcion=JOptionPane.showInputDialog("EMPRESA DON LUCHO" +
"n n VENDEDORES" + "n n 1.- JUAN" + "n 2.- MARCELO" + "n
3.- MARÍA" + "n 4.- Salir" +
"n n Con quien desea realizar su venta");
menu=Integer.parseInt(opcion);
switch(menu)
{
case 1:
do
{
ventj=JOptionPane.showInputDialog("EMPRESA DON LUCHO" + "n n VENDEDOR JUAN" + "n
n Valor de la venta");
vjuan=Integer.parseInt(ventj);
numj=numj+1;
totventj=totventj+vjuan;
if(vjuan>=8000 && vjuan<=11000)
{
comj=vjuan*0.03;
comjuan=comjuan+comj;
Paquetes del
programa
Declaración
de variables
String, int y
double
Impresión del
Menú de
Opciones
Transformación de
variables String a
int
Incio del Switch con
Case1
Procesos para
operaciones
Decisión if y procesos
49
|
c JOptionPane.showMessageDialog(null, "EMPRESA DON LUCHO" + "n n VENDEDOR JUAN"
+ "n n # VENTA: " + numj +
"n n Venta=" + vjuan + "n Comisión= " + comj);
}
else
{
if(vjuan>11000 && vjuan<=25000)
{
comj=vjuan*0.45;
comjuan=comjuan+comj;
JOptionPane.showMessageDialog(null, "EMPRESA DON LUCHO" + "n n
VENDEDOR JUAN" + "n n # VENTA: " + numj + "n n Venta=" + vjuan + "n Comisión= " +
comj);
}
else
{
if(vjuan>25000 && vjuan<=45000)
{
comj=vjuan*0.06;
comjuan=comjuan+comj;
JOptionPane.showMessageDialog(null, "EMPRESA DON LUCHO" + "n n
VENDEDOR JUAN" + "n n # VENTA: " + numj + "n n Venta=" + vjuan + "n Comisión= " +
comj);
}
else
{
if(vjuan>45000)
{
comj=vjuan*0.85;
comjuan=comjuan+comj;
JOptionPane.showMessageDialog(null, "EMPRESA DON LUCHO" + "n n
VENDEDOR JUAN" + "n n # VENTA: " + numj + "n n Venta=" + vjuan + "n Comisión= " +
comj);
}
}
}
}
opj=JOptionPane.showInputDialog
("Desea realizar una nueva venta con nuestro vendedor Juan
(1 SI/0 NO)");
op=Integer.parseInt(opj);
}
while(op==1);
Decisión if y procesos
respectivos para
obtener sus distintos
resultados
Decisión if y procesos
respectivos para
obtener sus distintos
resultados
Decisión if y procesos
respectivos para
obtener sus distintos
resultados
Cierre de sentencias if
Proceso de repetición,
mensaje y cierre del
do while
50
|
JOptionPane.showMessageDialog(null,"EMPRESA DON LUCHO" + "n n VENDEDOR JUAN" +
"n n # VENTAS: " + numj + "n n Total de ventas=" + totventj + "n Comisiones ganadas= " +
comjuan );
break;
case 2:
do
{
ventmarc=JOptionPane.showInputDialog("EMPRESA DON LUCHO"
+ "n n VENDEDOR MARCELO" + "n n Valor de la venta");
vmarc=Integer.parseInt(ventmarc);
nummarc=nummarc+1;
totventm=totventm+vmarc;
if(vmarc>=8000 && vmarc<=11000)
{
commarc=vmarc*0.03;
commarcelo=commarcelo+commarc;
JOptionPane.showMessageDialog(null, "EMPRESA DON LUCHO"
+ "n n VENDEDOR MARCELO" + "n n # VENTA: " + nummarc +
"n n Venta=" + vmarc + "n Comisión= " + commarc);
}
else
{
if(vmarc>11000 && vmarc<=25000)
{
commarc=vmarc*0.45;
commarcelo=commarcelo+commarc;
JOptionPane.showMessageDialog(null, "EMPRESA DON LUCHO"
+ "n n VENDEDOR MARCELO" + "n n # VENTA: " + nummarc +
"n n Venta=" + vmarc + "n Comisión= " + commarc);
}
else
{
if(vmarc>25000 && vmarc<=45000)
{
commarc=vmarc*0.06;
commarcelo=commarcelo+commarc;
JOptionPane.showMessageDialog(null, "EMPRESA DON LUCHO"
+ "n n VENDEDOR MARCELO" + "n n # VENTA: " + nummarc +
"n n Venta=" + vmarc + "n Comisión= " + commarc);
}
else
{
if(vmarc>45000)
Case 2 y Do While
Impresión del
nombre y datos
subtitulos
Decisión if y procesos
respectivos para
obtener sus distintos
resultados
Impresión del
nombre y datos
subtitulos
Decisión if y procesos
respectivos para
obtener sus distintos
resultados
Impresión del
nombre y datos
subtitulos
Decisión if y procesos
respectivos para
obtener sus distintos
resultados
Impresión del
nombre y datos
subtitulos
Decisión if y procesos
respectivos para
obtener sus distintos
resultados
51
|
{
commarc=vmarc*0.85;
commarcelo=commarcelo+commarc;
JOptionPane.showMessageDialog(null, "EMPRESA DON LUCHO"
+ "n n VENDEDOR MARCELO" + "n n # VENTA: " + nummarc +
"n n Venta=" + vmarc + "n Comisión= " + commarc);
}
}
}
}
opj=JOptionPane.showInputDialog("Desea realizar una
nueva venta con nuestro vendedor Marcelo (1 SI/0 NO)");
op=Integer.parseInt(opj);
}
while(op==1);
JOptionPane.showMessageDialog(null,"EMPRESA DON LUCHO"
+ "n n VENDEDOR MARCELO" + "n n # VENTAS: "
+ nummarc + "n n Total de ventas=" + totventm +
"n Comisiones ganadas= " + commarcelo);
break;
case 3:
do
{
ventmar=JOptionPane.showInputDialog("EMPRESA DON LUCHO"
+ "n n VENDEDORA MARÍA" + "n n Valor de la venta");
vmar=Integer.parseInt(ventmar);
nummar=nummar+1;
totventma=totventma+vmar;
if(vmar>=8000 && vmar<=11000)
{
commar=vmar*0.03;
commaria=commaria+commar;
JOptionPane.showMessageDialog(null, "EMPRESA DON LUCHO"
+ "n n VENDEDORA MARÍA" + "n n # VENTA: " + nummar +
"n n Venta=" + vmar + "n Comisión= " + commar);
}
else
{
if(vmar>11000 && vmar<=25000)
{
commar=vmar*0.45;
commaria=commaria+commar;
Impresión del
nombre y datos
subtitulos
Cierre de sentencias if
Proceso de repetición,
mensaje y cierre del
do while
Case 3 y Do While
Impresión del
nombre y datos
subtitulos
Impresión del
nombre y datos
subtitulos
Decisión if y procesos
respectivos para
obtener sus distintos
resultados
Impresión del
nombre y datos
subtitulos
Decisión if y procesos
respectivos para
obtener sus distintos
resultados
52
|
JOptionPane.showMessageDialog(null, "EMPRESA DON LUCHO"
+ "n n VENDEDOR MARÍA" + "n n # VENTA: " + nummar +
"n n Venta=" + vmar + "n Comisión= " + commar);
}
else
{
if(vmar>25000 && vmar<=45000)
{
commar=vmar*0.06;
commaria=commaria+commar;
JOptionPane.showMessageDialog(null, "EMPRESA DON LUCHO"
+ "n n VENDEDOR MARÍA" + "n n # VENTA: " + nummar
+ "n n Venta=" + vmar + "n Comisión= " + commar);
}
else
{
if(vmar>45000)
{
commar=vmar*0.85;
commaria=commaria+commar;
CJOptionPane.showMessageDialog(null, "EMPRESA DON LUCHO"
+ "n n VENDEDOR MARÍA" + "n n # VENTA: " + nummar +
"n n Venta=" + vmar + "n Comisión= " + commar);
}
}
}
}
opj=JOptionPane.showInputDialog("Desea realizar una
nueva venta con nuestro vendedor María (1 SI/0 NO)");
op=Integer.parseInt(opj);
}
while(op==1);
JOptionPane.showMessageDialog(null,"EMPRESA DON LUCHO"
+ "n n VENDEDOR MARÍA" + "n n # VENTAS: "
+ nummar + "n n Total de ventas=" + totventma
+ "n Comisiones ganadas= " + commaria);
break;
case 4:
System.exit(0);
break;
}
rept=JOptionPane.showInputDialog("Desea realizar una
Impresión del
nombre y datos
subtitulos
Impresión del
nombre y datos
subtitulos
Decisión if y procesos
respectivos para
obtener sus distintos
resultados
Decisión if y procesos
respectivos para
obtener sus distintos
resultados
Impresión del
nombre y datos
subtitulos
Cierre de sentencias if
Proceso de repetición,
mensaje y cierre del
do while
Impresión del
nombre y datos
subtitulos
Case 4
Opción Salir
53
|
nueva compra (1 SI/0 NO)");
op=Integer.parseInt(rept);
}
while(op==1);
total=totventj+totventm+totventma;
JOptionPane.showMessageDialog(null,"EMPRESA DON LUCHO"
+ "n n VENDEDOR JUAN" + "n n # VENTAS: "
+ numj + "n n Total de ventas=" + totventj +
"n Comisiones ganadas= " + comjuan +
"n n VENDEDOR MARCELO" + "n n # VENTAS: "
+ nummarc + "n n Total de ventas=" + totventm +
"n Comisiones ganadas= " + commarcelo + "n n
VENDEDOR MARÍA"
+ "n n # VENTAS: " + nummar + "n n Total de ventas="
+ totventma + "n Comisiones ganadas= " + commaria+
"n n TODAL DE LAS VENTAS= " + total );
}}
Repetir el Programa
n veces
Suma total de las
comisiones de vendedores
Impresión de
subtítulos, para
cada vendedor y en
forma general, total,
comisiones
ganadas y
respuestas finales
Cierre del programa con
sus respectivas llaves
54
|
CORRIDO
55
|
56
|
57
|
58
|
ENUNCIADO
Diseñe un programa que me permita calcular el valor por concepto de
matrículas de una institución educativa bajo los siguientes parámetros
Las matriculas se cobran de forma diferenciada de acuerdo al tipo de institución
que puede ser:
Publica costo de la matricula: $120,00
Particular costo de la matricula: $190,00
Fisco misional costo de la matricula: $140,00
Todos los estudiantes independientemente del tipo de institución cancelan los
siguientes aranceles por beneficios extras que le concede la institución, estos
son:
3% de la Matricula corresponde al Servicio Medico
8% de la Matricula corresponde al Servicio de Internet
6% de la Matricula corresponde al Servicio de Deportes
El sistema debe visualizar y reflejar el # de estudiantes matriculados por día, el
valor total acumulado por tipo de institución y por tipo de arancel, además que
debe visualizar el Boucher individual de cada estudiante.
ANALISIS
Iniciamos el programa para ello debemos importar las bibliotecas que vayamos
a utilizar en el programa, en este caso deberemos importar la librería principal
(import javax.swing.JOptionPane; ) y la librería de la clase que usaremos
(import pkg13.operacionesmenu.operaciones;).
Debemos declarar las variables string y las variables enteras que necesitemos.
En la variable de escoger una opción imprimimos el menú que vamos a
presentar para realizar los diferentes procesos.
59
|
Covertimos la variable escoger (de string) a entero y asignamos el valor de
correspondiente.
Utilizamos un swtich para realizar cada proceso del menú.
En cada case debemos realizamos los procesos e imprimimos resultados.
Cerramos el programa con un while para que se repite las veces que desee el
usuario
DOCUMENTACIÓN
package matriculas;
import javax.swing.JOptionPane;
import java.text.DecimalFormat;
public class Matriculas {
public static void main(String[] args)
{
String nombre,tipo,ret,repet;
int t,op1, op;
double p=120,pr=190,f1=140,con1=0,con2=0,con3=0,
sm1,sd1,si1,t1,sm2,sd2,si2,t2,sm3,sd3,si3,t3,sm11=0,
sd11=0,si11=0,sm22=0,sd22=0,si22=0,sm33=0,sd33=0,
si33=0,pt=0,prt=0, ft=0,cont, mt, smt, sit,sdt,st,tt;
DecimalFormat f=new DecimalFormat(".00");
do
{
JOptionPane.showMessageDialog(null," SISTEMA DE MATRICULAS" );
tipo=JOptionPane.showInputDialog("Escoja el tipo de Institucion"
+"n 1.- Publica"+"n 2.- Pribada"+"n 3.- Fiscomisinal"+"n 4.-Salir");
t=Integer.parseInt(tipo);
switch(t)
{
case 1:
pt=pt+p;
con1=con1+1;
nombre=JOptionPane.showInputDialog("Ingrese el nombre
del estudiante:");
sm1=(p*3)/100;
sm11=sm11+sm1;
sd1=(p*8)/100;
sd11=sd11+sd1;
Importación de librerías
del programa
Paquetes del programa
Inicio del programa
Declaración de
variables String, int y
double
Impresión del Menú de
Opciones
Transformación de
variables String a int
Incio del Switch con
Case1 (primera opción)
Do-while proceso de
repetición
Ingreso de Datos
Procesos
60
|
si1=(p*6)/100;
si11=si11+si1;
t1=sm1+sd1+si1+p;
JOptionPane.showMessageDialog(null," Nombre: "
+ nombre + "n Institucion: Publica"+ "n Costo de matricula: $ "
+ p +"n Servicio Médico: $ "+f.format(sm1)+"n Servicio Internt: $ "
+f.format(si1)+"n Servicio Deportes"+f.format(si1)+"n Total: $"
+f.format(t1) );
break;
case 2:
prt=prt+pr;
con2=con2+1;
nombre=JOptionPane.showInputDialog("Ingrese el nobre
del estudiante:");
sm2=(pr*3)/100;
sm22=sm22+sm2;
sd2=(pr*8)/100;
sd22=sd22+sd2;
si2=(pr*6)/100;
si22=si22+si2;
t2=sm2+sd2+si2+pr;
JOptionPane.showMessageDialog(null," Nombre: "+ nombre
+ "n Institucion: Pribada"+ "n Costo de matricula: $ " + pr
+"n Servicio Médico: $ "+f.format(sm2)+"n Servicio Internt: $ "
+f.format(si2)+"n Servicio Deportes"+f.format(si2)+"n Total: $"
+f.format(t2 ));
break;
case 3:
ft=ft+f1;
con3=con3+1;
nombre=JOptionPane.showInputDialog("Ingrese el
nombre del estudiante:");
sm3=(f1*3)/100;
sm33=sm33+sm3;
sd3=(f1*8)/100;
sd33=sd33+sd3;
si3=(f1*6)/100;
si33=si33+si3;
t3=sm3+sd3+si3+f1;
Impresión de resultados
Break cierre de la
primera opción (case 1)
Inicio Case2 (segunda
opción)
Contadores
Ingreso de Datos
Procesos
Impresión de resultados
Break cierre de la
primera opción (case 2)
Inicio Case3 (tercera
opción)
Contadores
Ingreso de Datos
Procesos
61
|
JOptionPane.showMessageDialog(null," Nombre: "+ nombre
+ "n Institucion: Pribada"+ "n Costo de matricula: $ " + f1
+"n Servicio Médico: $ "+f.format(sm3)+"Servicio Internt: $ "+f.format(si3)+"Servicio
Deportes"+f.format(si3)+"Total: $"
+f.format(t3 ));
break;
case 4:
System.exit(0);
break;
}
repet=JOptionPane.showInputDialog("Desea ingresar otra
matricula 1 / 0");
op1=Integer.parseInt(repet);
}while(op1==1);
cont=con1+con2+con3;
mt=pt+prt+ft;
smt=sm11+sm22+sm33;
sdt=sd11+sd22+sd33;
sit=si11+si22+si33;
st=smt+sdt+sit;
tt=mt+st;
JOptionPane.showMessageDialog(null,"REPORTE GENERAL"
+ "n Publica Pribada Fiscomisional Total"
+ " /n N° de matriculados "+ con1 + " " + con2 +" "
+ con3 + " " + cont+ "n Valor de matriculas $ "+ pt+ " $ "
+prt+" $ "+ft +" $"+mt+"nServicios Medicos $ "
+f.format(sm11) + " $"+f.format(sm22)+" $"+f.format(sm33)+" $"+f.format(smt)+"n
Servicios Internet $"+f.format(si11) + " $"
+f.format(si22)+" $"+f.format(si33)+" $"+f.format(sit)+"n
Servicios Internet $"+f.format(sd11) + " $"+f.format(sd22)
+" $"+f.format(sd33)+" $"+f.format(sdt)+"n
TOTOL: $ " +f.format(tt));
}
}
Impresión de resultados
Break cierre de la
primera opción (case 2)
Case4 (Opción Salir)
Cierre del switch
Fin del proceso de
repeticion
Procesos Finales
Impresión final
Fin del Programa
62
|
CORRIDO
63
|
ENUNCIADO
Diseñe un programa que me permita simular el funcionamiento de un sistema
de rol de pagos bajo los siguientes parámetros:
el nominal se ingresa conforme a la categoría si es administrativo gana Usd.
540, si es ejecutivo gana Usd 1’200,00 si es obrero gana Usd 340,00
Obtenga el valor ingresado Horas Extras tomando en puede tener un máximo
de número de horas extras 8 y cada hora cuesta Usd 3,50
Obtenga el valor de cargas familiares la misma que esta condicionada. Si el
empleado tiene más de dos hijos se le paga Usd. 4,5 por cada hijo caso
contrario se le reconoce Usd 6,2 por cada hijo
Obtenga el valor del IESS que es el 11,5 % del nominal
Se le descuenta a todos los empleados por concepto de comisariato el 2,5%
del nominal
Obtenga el total de ingreso, egresos y líquido a recibir
ANÁLISIS
En este programa hemos utilizado Do-While ya la estructura Switch para
realizar un menú de opciones en cada case va el miso proceso, en la
declaración de variables utilizamos un doublé para cantidades con decimales,
para la impresión hemos utilizando la JOptionPane.showMessageDialog y al
final cada case un break.
DOCUMENTACION
package prueba;
import java.text.DecimalFormat;
import javax.swing.JOptionPane;
public class Prueba {
public static void main(String[] args) {
String opc1,opc,nom,ce;
double ad=540,ej=1200,ob=340,he,ph,h,pi,ie,co,te,ti,st,sp,op1;
int a,op;
Nombre del programa o proyecto
librerías
Declaración de variables
Inicio del programa
Inicio del do-while
64
|
do{
DecimalFormat df=new DecimalFormat(".00");
opc=JOptionPane.showInputDialog(" LIQUIDO TOTAL DE EMPLEADOSn"+"1.-
Administrativon"
+"2.-Ejeutivon"+"3.-Obreron"+"5.-Salir");
op=Integer.parseInt(opc);
switch(op)
{
case 1:
nom=JOptionPane.showInputDialog("Nombre: ");
do{
he=Double.parseDouble(JOptionPane.showInputDialog("Horas extras: "));
}while(he>8);
ph=he*3.50;
h=Double.parseDouble(JOptionPane.showInputDialog("Hijos: "));
if(h>2)
{
pi=h*4.50;
}
else
{
pi=h*6.20;
}
ti=ph+pi;
ie=ad*0.115;
co=ad*0.025;
te=ie+co;
sp=ad+ph+pi;
st=sp-ie-co;
JOptionPane.showMessageDialog(null," REPORTE
GENERALn"+nom+"nAdministrativo"+"nSueldo "
+ad+"nnIngresos "+ti+"nHoras extras "
+ph+"nCargas familiares "+pi+"nnEgresos "+te+"nIESS "+ie+
"nComisiariato "+co+"nSueldo a recibir "+st);
break;
case 2:
nom=JOptionPane.showInputDialog("Nombre: ");
do{
he=Double.parseDouble(JOptionPane.showInputDialog("Horas extras: "));
}while(he>8);
ph=he*3.50;
h=Double.parseDouble(JOptionPane.showInputDialog("Hijos: "));
if(h>2)
{
pi=h*4.50;
}
else
{
pi=h*6.20;
}
ti=ph+pi;
ie=ej*0.115;
Diseño del menú
Ingreso de la opción
Inicio del switch
Ingreso del nombre
Ingreso de las horas
extras
Ingreso del número de hijos
Proceso
Proceso
Impresión de resultados
Cierre del case
Ingreso del nombre
Ingreso de las horas
extras
Ingreso del número de hijos
Proceso
65
|
co=ej*0.025;
te=ie+co;
sp=ej+ph+pi;
st=sp-ie-co;
JOptionPane.showMessageDialog(null," REPORTE
GENERALn"+nom+"nEjecutivo"+"nSueldo "
+ej+"nnIngresos "+ti+"nHoras extras "
+ph+"nCargas familiares "+pi+"nnEgresos "+te+"nIESS "+ie+
"nComisiariato "+co+"nSueldo a recibir "+st);
break;
case 3:
nom=JOptionPane.showInputDialog("Nombre: ");
do{
he=Double.parseDouble(JOptionPane.showInputDialog("Horas extras: "));
}while(he>8);
ph=he*3.50;
h=Double.parseDouble(JOptionPane.showInputDialog("Hijos: "));
if(h>2)
{
pi=h*4.50;
}
else
{
pi=h*6.20;
}
ti=ph+pi;
ie=ob*0.115;
co=ob*0.025;
te=ie+co;
sp=ob+ph+pi;
st=sp-ie-co;
JOptionPane.showMessageDialog(null," REPORTE
GENERALn"+nom+"nObrero"+"nSueldo "
+ob+"nnIngresos "+ti+"nHoras extras "
+ph+"nCargas familiares "+pi+"nnEgresos "+te+"nIESS "+ie+
"nComisiariato "+co+"nSueldo a recibir "+st);
break;
case 4:
System.exit(0);
break;
}
opc1=JOptionPane.showInputDialog("Salir 1/0: ");
op1=Integer.parseInt(opc1);
}while(op1==1);
}
}
Impresión de resultados
Cierre del case 2
Ingreso del nombre
Ingreso de las horas
extras
Ingreso del número de hijos
Proceso
Impresión de resultados
Proceso
Cierre del case 3
Proceso par salir
Cierre del case 4
Cierre del while
Ingreso para la opción do-while
66
|
CORRIDO
ENUNCIADO
Diseñe un programa que me permita realizar las operaciones básicas a través
de un menú de opciones.
ANÁLISIS
En este programa utilizamos un switch para realizar un menú de opciones y en
cada case hacemos procesos diferentes que nos permiten hacer el cálculo de
las seis operaciones básicas en el programa principal solo ingresamos los
datos e imprimimos y llamamos al proceso que está en las funciones y lo
llamamos desde el programa principal.
Debemos importar las bibliotecas q vayamos a utilizar en nuestro programa en
este caso (import javax.swing.JOptionPane;)
67
|
DOCUMENTACION
package seisop;
import javax.swing.JOptionPane;
import seisop.funcionesop;
public class Seisop {
public static void main(String[] args) {
String dato1,dato2,op,opa;
int a,b,op1,sum1,res1,mult1,opb;
double div1,pot1,rad1;
do{
op=JOptionPane.showInputDialog("ESCOJA UNA OPCION
n1.-SUMAn2.-RESTAn3.-MULTIPLICACIONn"+
"4.-DIVISIONn5. -POTENCIACION
n6.-RADICACIONn7.-SALIR");
op1=Integer.parseInt(op);
switch(op1)
{
case 1:
dato1=JOptionPane.showInputDialog("Dato 1 :");
a=Integer.parseInt(dato1);
dato2=JOptionPane.showInputDialog("Dato 2 :");
b=Integer.parseInt(dato2);
sum1=funcionesop.suma1(a, b);
JOptionPane.showMessageDialog(null,"La suma es: "+sum1);
break;
case 2:
do
{
dato1=JOptionPane.showInputDialog("Dato 1 :");
a=Integer.parseInt(dato1);
dato2=JOptionPane.showInputDialog("Dato 2 :");
b=Integer.parseInt(dato2);
}while(a<b);
res1=funcionesop.resta(a, b);
JOptionPane.showMessageDialog(null,"La resta es:"+res1);
break;
case 3:
dato1=JOptionPane.showInputDialog("Dato 1 :");
a=Integer.parseInt(dato1);
dato2=JOptionPane.showInputDialog("Dato 2 :");
b=Integer.parseInt(dato2);
mult1=funcionesop.multiplicacion(a, b);
JOptionPane.showMessageDialog(null,"La multiplicacion es:"+mult1);
break;
case 4:
do
{
dato1=JOptionPane.showInputDialog("Dato 1 :");
Importación de librerías
del programa y paquete
Paquetes del programa
Declaración de
variables
Menú de Opciones
Ingreso de datos
Llamamos a la clase
Impresión del mensaje
Do-while para el control
en la resta
Ingreso de datos
Llamamos a la clase
Impresión del mensaje
Ingreso de datos
Llamamos a la clase
Impresión del mensaje
Control para el proceso de la división
Ingreso de datos
68
|
a=Integer.parseInt(dato1);
dato2=JOptionPane.showInputDialog("Dato 2 :");
b=Integer.parseInt(dato2);
}while(a<b);
div1=funcionesop.division(a, b);
JOptionPane.showMessageDialog(null,"La division es:"+div1);
break;
case 5:
dato1=JOptionPane.showInputDialog("Base :");
a=Integer.parseInt(dato1);
dato2=JOptionPane.showInputDialog("Exponente :");
b=Integer.parseInt(dato2);
pot1=funcionesop.potencia(a, b);
JOptionPane.showMessageDialog(null,"La potencia es:"+pot1);
break;
case 6:
dato1=JOptionPane.showInputDialog("Numero :");
a=Integer.parseInt(dato1);
rad1=funcionesop.radicacion(a);
JOptionPane.showMessageDialog(null,"La raiz es:"+rad1);
break;
}
opa=JOptionPane.showInputDialog("INGRESE 1 CONTINUAR
Y 0 PARA SALIR:");
opb=Integer.parseInt(opa);
}while(opb==1);
}
}
package seisop;
public class funcionesop {
public static int suma1(int a1, int b1)
{
int sumar;
sumar=(a1+b1);
return sumar;
}
public static int resta(int a1, int b1)
{
int restar;
restar=(a1-b1);
return restar;
}
public static int multiplicacion(int a1, int b1)
{
int multiplicar;
multiplicar=(a1*b1);
return multiplicar;
}
public static double division(double a1, double b1)
{
double dividir;
dividir=(a1/b1);
Llamamos a la clase
Impresión del mensaje
Ingreso de datos
Llamamos a la clase
Impresión del mensaje
Ingreso de datos
Llamamos a la clase
Impresión del mensaje
Mensaje de do-while para
enviar un mensaje si desea
repetir
Nombre del programa principal
Proceso de suma
Proceso de resta
Proceso de multiplicación
Proceso de división
69
|
return dividir;
}
public static double potencia(double a1, double b1)
{
double poten;
poten=Math.pow(a1,b1);
return poten;
}
public static double radicacion(double a1)
{
double radical;
radical=Math.sqrt(a1);
return radical;
}
}
CORRIDO
Proceso de potencia
Proceso de radicación
70
|
ENUNCIADO
Diseñe un menú de opciones que me permita realzar las 6 operaciones básicas
con datos enteros ingresados desde teclado, utilizando clases.
ANALISIS
Debemos importar las bibliotecas que vayamos a utilizar en el programa, en
este caso deberemos importar la librería principal (import
javax.swing.JOptionPane; ) y la librería de la clase que usaremos (import
pkg13.operacionesmenu.operaciones;).
Debemos declarar las variables string y las variables enteras que necesitemos.
En la variable de escoger una opción imprimimos el menú que vamos a
presentar para realizar los diferentes procesos.
Covertimos la variable escoger (de string) a entero y asignamos el valor de
correspondiente.
Utilizamos un swtich para realizar cada proceso del menú.
En cada case debemos ingresar los dos valores que usaremos para las
operaciones (a excepción de la radicación) y convertirlos a datos de tipo entero.
Llamamos a la variable en que almacenaremos el resultado que será igual al
nombre de la clase que usaremos y del bloque al que pertenece, ubicando
entre parentesis las variables de los datos ingresados.
Imprimimos la variable resultante del proceso
Utilizamos un do while para preguntar al usuario si desea volver a realizar el
proceso con diferentes valores
Repetimos el proceso en cada case con la variación de realizar las posteriores
operaciones a la suma.
En el ultimo case utilzamos una instrucción que nos permitirá salir del programa
miestras este corriendo, esto es: System.exit(0);
71
|
Preguntamos si el usuario desea realizar nuevamente otros procesos o si
desea salir
DOCUMENTACIÓN
package pkg13.operacionesmenu;
import javax.swing.JOptionPane;
import pkg13.operacionesmenu.operaciones;
public class Operacionesmenu {
public static void main(String[] args)
{
String dato1,dato2,escoger,opcion;
int num1,num2,suma,resta,multiplicacion,es,op;
double division, potenciacion, radicacion;
{
escoger=JOptionPane.showInputDialog(null, "
OPERACIONES BASICAS nn 1. Suma n 2. Resta n
3. Multiplicación n 4. División n 5. Potenciación n
6. Radicación n 7. Salir nn Escoja una opcion:");
es=Integer.parseInt(escoger);
switch(es)
{
case 1:
do{
dato1=JOptionPane.showInputDialog
("Ingrese el primer valor: ");
num1=Integer.parseInt(dato1);
dato2=JOptionPane.showInputDialog
("Ingrese el segundo valor: ");
num2=Integer.parseInt(dato2);
suma=operaciones.sumar(num1, num2);
JOptionPane.showMessageDialog
(null, "La Suma es: "+ suma);
opcion=JOptionPane.showInputDialog
("Desea realizar otra suma: 1=si / 0=no");
op=Integer.parseInt(opcion);
}while(op==1);
break;
case 2
do{
do{
Importación de librerías
del programa
Paquetes del programa
Declaración de
variables String, int y
double
Impresión del Menú de
Opciones
Transformación de
variables String a int
Incio del Switch con
Case1
Ingreso de Datos
Llamado de clase o
función
DO WHILE y break
Case 2 y Do While
72
|
dato1=JOptionPane.showInputDialog
("Ingrese el primer valor: ");
num1=Integer.parseInt(dato1);
dato2=JOptionPane.showInputDialog
("Ingrese el segundo valor: ");
num2=Integer.parseInt(dato2);
}while(num1<num2);
resta=operaciones.restar(num1, num2);
JOptionPane.showMessageDialog
(null, "La Resta es: "+ resta);
opcion=JOptionPane.showInputDialog
("Desea realizar otra resta: 1=si / 0=no");
op=Integer.parseInt(opcion);
}while(op==1);
break;
case 3:
do{
dato1=JOptionPane.showInputDialog
("Ingrese el primer valor: ");
num1=Integer.parseInt(dato1);
dato2=JOptionPane.showInputDialog
("Ingrese el segundo valor: ");
num2=Integer.parseInt(dato2);
multiplicacion=operaciones.multi(num1, num2);
JOptionPane.showMessageDialog
(null, "La Multiplicación es: "+ multiplicacion);
opcion=JOptionPane.showInputDialog
("Desea realizar otra multiplicacion: 1=si / 0=no");
op=Integer.parseInt(opcion);
}while(op==1);
break;
case 4:
do{
do{
dato1=JOptionPane.showInputDialog
("Ingrese el primer valor: ");
num1=Integer.parseInt(dato1);
dato2=JOptionPane.showInputDialog
("Ingrese el segundo valor: ");
num2=Integer.parseInt(dato2);
}while(num1<num2);
division=operaciones.dividir(num1, num2);
JOptionPane.showMessageDialog
Ingreso de Datos
Llamado de clase o
función
DO WHILE y break
Case 3 y Do While
Ingreso de Datos
Llamado de clase o
función
DO WHILE y break
Case 4 y Do While
Ingreso de Datos
Llamado de clase o
función
Validación de datos
Validación de datos
73
|
(null, "La División es: "+ division);
opcion=JOptionPane.showInputDialog
("Desea realizar otra division 1=si / 0=no");
op=Integer.parseInt(opcion);
}while(op==1);
break;
case 5:
do{
dato1=JOptionPane.showInputDialog
("Ingrese la base: ");
num1=Integer.parseInt(dato1);
dato2=JOptionPane.showInputDialog
("Ingrese el exponente: ");
num2=Integer.parseInt(dato2);
potenciacion=operaciones.potencia(num1, num2);
JOptionPane.showMessageDialog
(null, "La Potenciación es: "+ potenciacion);
opcion=JOptionPane.showInputDialog
("Desea realizar otra potenciacion 1=si / 0=no");
op=Integer.parseInt(opcion);
}while(op==1);
break;
case 6:
do{
dato1=JOptionPane.showInputDialog("Ingrese el valor: ");
num1=Integer.parseInt(dato1);
radicacion=operaciones.raiz(num1);
JOptionPane.showMessageDialog
(null, "La Radicacion es: "+ radicacion);
opcion=JOptionPane.showInputDialog
("Desea realizar otra radicación 1=si / 0=no");
op=Integer.parseInt(opcion);
}while(op==1);
break;
case 7:
System.exit(0);
break;
}
opcion=JOptionPane.showInputDialog
("Desea volver al menu: 1=si / 0=no");
op=Integer.parseInt(opcion);
DO WHILE y break
Case 5 y Do While
Ingreso de Datos
Llamado de clase o
función
DO WHILE y break
Case 6 y Do While
Ingreso de Datos
Llamado de clase o
función
DO WHILE y break
Case 7
Opción Salir
Fin del Switch
Repetir el Programa n
veces
74
|
}while(op==1);
}
}
operacionesmenu;
public class operaciones
{
public static int sumar(int a, int b)
{
int sumar;
sumar=(a+b);
return sumar;
}
public static int restar(int a, int b)
{
int restar;
restar=(a+b);
return restar;
}
public static int multi(int a, int b)
{
int multi;
multi=(a+b);
return multi;
}
public static double dividir(double a, double b)
{
double dividir;
dividir=(a/b);
return dividir;
}
public static double potencia(double a, double b)
{
double potencia;
potencia=Math.pow(a, b);
return potencia;
}
public static double raiz(double a)
Fin del Programa
Nombre del Programa
principal
Inicio de Clase o
Función
Proceso de suma
Proceso de resta
Proceso de
multiplicación
Proceso de división
Proceso de
potenciación
75
|
{
double raiz;
raiz=Math.sqrt(a);
return raiz;
}
}
ENUNCIADO
Diseñe un menú de opciones utilizando clases de un conjunto de series de
datos: primos, factorial, Fibonacci, pares, y la opción salir.
ANALISIS
Para realizar este proyecto primero debemos importar las bibliotecas que
vayamos a utilizar, Declarar datos del tipo que necesitemos y empezar el
programa con títulos y un menú de opciones que nos permita escoger la serie
que deseemos realizar, seguido de una clase para realizar cada serie, también
con la opción de repetir el proceso las veces que desee el usuario presentando
al fin los resultados respectivos que queremos.
DOCUMENTACIÓN
package menuseries;
import javax.swing.JOptionPane;
import menuseries.series;
public class Menuseries {
public static void main(String[] args)
{
String dato1, dato2,dato3;
int op,limite,pares,num,i,p,primos,factor,fibo,opc;
JOptionPane.showMessageDialog(null, "MENU DE SERIES ");
do
{dato1=JOptionPane.showInputDialog("1. PRIMOS n 2. FACTORIAL
n 3. FIBONACCI n 4. PARES n 5. SALIR n Ingrese una opcion: ");
op=Integer.parseInt(dato1);
switch(op)
{
case 1:
dato2=JOptionPane.showInputDialog("Ingrese un limite");
limite=Integer.parseInt(dato2);
primos=series.primos(limite);
Proceso de radicación
Importación de librerías
del programa
Declaración de
variables String, int y
double
Impresión del Menú de
Opciones
Inicio del Switch con
Case1
Ingreso del límite y
Llamado de clase o
función
Inicio del Switch con
Case 2
76
|
break;
case 2:
dato2=JOptionPane.showInputDialog("Ingrese un limite");
limite=Integer.parseInt(dato2);
factor=series.facto(limite);
break;
case 3:
dato2=JOptionPane.showInputDialog("Ingrese un limite");
limite=Integer.parseInt(dato2);
fibo=series.fibo(limite);
break;
case 4:
dato2=JOptionPane.showInputDialog("Ingrese un limite");
limite=Integer.parseInt(dato2);
pares=series.par(limite);
break;
case 5:
System.exit(0);
break;
}
dato3=JOptionPane.showInputDialog("Volver al menu 1 Salir 0: ");
opc=Integer.parseInt(dato3);
}
while(opc==1);
}
}
package menuseries;
import javax.swing.JOptionPane;
public class series
{
public static int par (int limite)
{
int p;
int i;
p=0;
for(i=1;i<=limite;i++)
{
p=p+2;
JOptionPane.showMessageDialog(null, +p);
}
return 0;
}
public static int primos (int limite)
{
int conta,residuo,i,j;
for(i=1;i<=limite;i++)
{
conta=0;
for(j=1;j<=i;j++)
Ingreso del límite y
Llamado de clase o
función
Inicio del Switch con
Case 3
Ingreso del límite y
Llamado de clase o
función
Inicio del Switch con Case 4
Ingreso del límite y
Llamado de clase o
función
Fin del Switch con Case 5
Repetir el Programa n
veces
Fin del Programa
Nombre del Programa
principal
Serie de numeros pares
Serie de numeros primos
77
|
{
residuo=i%j;
if(residuo==0)
{
conta=conta+1;
}
}
if(conta==2)
{
JOptionPane.showMessageDialog(null, +i);
}
}
return 0;
}
public static int facto(int limite)
{
int f,i;
f=1;
i=1;
i=i+1;
for(i=1;i<=limite;i++)
{
f=f*i;
JOptionPane.showMessageDialog(null, +i+f);
}
return 0;
}
public static int fibo(int limite)
{
int m,i,j,c,a = 0,b=1;
m=1;
for(j=1;j<=limite-1;j++)
{
m=m+3;
}
for(i=0;i<=limite-2;i++)
{
c=a+b;
a=b;
b=c;
JOptionPane.showMessageDialog(null, +a);
}
return 0;
}
}
Serie de numeros primos
Serie de la factorial
Serie del Fibonacci
78
|
CORRIDO
ENUNCIADO
Diseñe un programa utilizando clases que me permita verificar si un numero
entero ingresado desde teclado le corresponde a la siguiente categoría:
1 – 3 Bebé
3 – 11 Niño
12 – 17 Adolescente
18 – 45 Adulto
46 en adelante – Adulto Mayor
ANALISIS
Este programa permite verificar la edad a que categoría corresponde. 1.
Importación de bibliotecas principales que utilizaremos (import
javax.swing.JOptionPane; e importjava.text.DecimalFormat;). Debemos
declarar las variables String, double y formato para decimales. Inicialización de
ciclo do while para que el programa se repita n veces, llamamos a las clases.
En las clases hacemos el proceso correspondiente mediante un if, else e
impresiones de pantalla.
79
|
CODIFICACION
package edades;
import javax.swing.JOptionPane;
public class Edades {
public static void main(String[] args) {
String opcion,dato;
int edad1,op,edades;
do
{
opcion=JOptionPane.showInputDialog(null,"***VERIFICACION DE EDAD***n1 a 3 años
BEBEn3 a 11 años NIÑOn12 a 17 años ADOLESCENTEn18 a 45 años ADULTOn45 en
adelante ADULTO MAYORn**INGRESE UNA EDAD** ");
edad1=Integer.parseInt(opcion);
edades=edad.edades(edad1);
dato=JOptionPane.showInputDialog(null,"DESEA REPETIR 1 O 0 PARA SALIR: ");
op=Integer.parseInt(dato);
}while(op==1);
}
}
package edades;
import javax.swing.JOptionPane;
public class edad {
public static int edades(int edad1)
{
if(edad1>=1 && edad1<=3)
{
JOptionPane.showMessageDialog(null, "BEBE: "+edad1);
}
else
{
if(edad1>=4 && edad1<=11)
{
JOptionPane.showMessageDialog(null, "NIÑO: "+edad1);
}
else
{
if(edad1>=12 && edad1<=17)
{
JOptionPane.showMessageDialog(null, "ADOLESCENTE: "+edad1);
}
else
Importación de librerías del programa
Paquetes del programa
Declaración de variables String y double
Inicio ciclo do while principal
LLAMA A LAS FUNCIONES
SE CIERRA EL LAZO REPETITIVO
Importación de librerías del programa
PROCESO
80
|
{
if(edad1>=18 && edad1<=45)
{
JOptionPane.showMessageDialog(null, "ADULTO: "+edad1);
}
else
{
if(edad1>45)
{
JOptionPane.showMessageDialog(null, "ADULTO MAYOR: "+edad1);
}
}
}
}
}
return 0;
}
}
CORRIDO
ENUNCIADO
Diseñe un programa utilizando clases que me permita ingresar un número
entero desde teclado y me permita descomponerlo en todos sus elementos
posibles. (Unidad, decena, centena, unidad de mil, etc.)
SE CIERRA LA CLASE
81
|
ANÁLISIS
Necesitaremos una variable tipo int para generar la descomposición en sus
unidades
Documentación
package decompocicion;
import javax.swing.JOptionPane;
import decompocicion.descomponer;
public class Decompocicion {
public static void main(String[] args) {
String num;
int a,res;
do{
num=JOptionPane.showInputDialog("NUMERO");
a=Integer.parseInt(num);
}while(a<1 || a>9999);
res=descomponer.descomponer(a);
}
}
Clase
package decompocicion;
import javax.swing.JOptionPane;
public class descomponer {
public static int descomponer(int a)
{
int um,c,d,u;
um=a;
um=(um/1000)*1000;
c=a;
c=c-um;
c=(c/100)*100;
d=a;
d=d-um-c;
d= (d/10)*10;
u=(a-um)-c-d;
JOptionPane.showMessageDialog(null,"Unidad "+u+"nDecena "+d+"nCentena "+c
+"nUnidad de mil "+um+"nTotal "+a);
return 0;
}
}
Importación de librerías
del programa
Paquetes del programa
Declaración de variables tipo int y string
Fin del programa principal
Programa principal importación de librerías e inicio de clases
Clase descomposición
con su respectivo
proceso para realizar
una descomposición en
sus unidades
82
|
CORRIDO
ENUNCIADO
Diseñe un menú de opciones utilizando clases que me permita diseñar un
sistema de conversiones de numeros de diferentes bases.
Se necesita convertir un numero entero a su binario correspondiente, un entero
a octal y un entero a hexadecimal.
ANALISIS
Para realizar este proyecto primero debemos importar las bibliotecas que
vayamos a utilizar, Declarar datos del tipo que necesitemos y empezar el
programa con títulos y un menú de opciones que nos permita escoger la
conversión que deseemos realizar, seguido de una clase para realizar cada
conversion, también con la opción de repetir el proceso las veces que desee el
usuario presentando al fin los resultados respectivos que queremos.
DOCUMENTACIÓN
package conversiones;
import javax.swing.JOptionPane;
public class Conversiones {
public static void main(String[] args)
{
String dato1, dato2, dato;
int a,bi,oc,hexa,op,opc;
JOptionPane.showMessageDialog(null, "CONVERSIONES ");
do
{
Importación de librerías
del programa
Declaración de
variables String, int y
double
Impresión del Menú de
Opciones
83
|
dato=JOptionPane.showInputDialog("1. BINARIO n 2. OCTAL
n 3. HEXADECIMAL n 4. SALIR n Ingrese una Opcion: ");
opc=Integer.parseInt(dato);
switch(opc)
{
case 1:
dato1=JOptionPane.showInputDialog("Ingrese un numero: ");
a=Integer.parseInt(dato1);
bi=convers.bi(a);
break;
case 2:
dato1=JOptionPane.showInputDialog("Ingrese un numero: ");
a=Integer.parseInt(dato1);
oc=convers.oct(a);
break;
case 3:
dato1=JOptionPane.showInputDialog("Ingrese un numero: ");
a=Integer.parseInt(dato1);
hexa=convers.he(a);
break;
case 4:
System.exit(0);
break;
}
dato2= JOptionPane.showInputDialog("VOLVER AL MENU 1 SALIR 0: ");
op=Integer.parseInt(dato2);
}
while(op==1);
}
}
package conversiones;
import javax.swing.JOptionPane;
public class convers
{
public static int bi (int a)
{
JOptionPane.showMessageDialog(null, "Numero Binario:
"+Integer.toBinaryString(a));
return 0;
}
public static int oct (int a)
{
JOptionPane.showMessageDialog(null, "Numero Octal:
"+Integer.toOctalString(a));
return 0;
}
public static int he(int a)
{
JOptionPane.showMessageDialog(null, "Numero Hexadecimal:
"+Integer.toHexString(a));
return 0;
}
Inicio del Switch con
Case1
Ingreso el número que
deseo transformar a
binario y llamamos a la
clase
Ingreso el número que
deseo transformar a
octal y llamamos a la
clase
Fin del Programa
Nombre del Programa
principal
Transformación de un
número decimal a binario
Inicio del Switch
con Case 3
Fin del Switch con Case 4
Repetir el Programa
n veces
Ingreso el número que deseo transformar a
hexadecimal y llamamos a la clase
Transformación de un
número decimal a octal
Transformación de un
número decimal a
hexadecimal
84
|
}
CORRIDO

Mais conteúdo relacionado

Mais procurados

Mais procurados (19)

Introducción a la algoritmia
Introducción a la algoritmiaIntroducción a la algoritmia
Introducción a la algoritmia
 
Programación con java en Eclipse
Programación con java en EclipseProgramación con java en Eclipse
Programación con java en Eclipse
 
CUESTIONARIO JAVA
CUESTIONARIO JAVACUESTIONARIO JAVA
CUESTIONARIO JAVA
 
Curso Java Inicial 2 - Introducción y Sintaxis
Curso Java Inicial  2 - Introducción y SintaxisCurso Java Inicial  2 - Introducción y Sintaxis
Curso Java Inicial 2 - Introducción y Sintaxis
 
Cuestionario
CuestionarioCuestionario
Cuestionario
 
Sintaxis Java
Sintaxis JavaSintaxis Java
Sintaxis Java
 
Tipos de datos
Tipos de datosTipos de datos
Tipos de datos
 
Intro Java
Intro JavaIntro Java
Intro Java
 
Ppt java
Ppt javaPpt java
Ppt java
 
Programación orientada a objetos (I)
Programación orientada a objetos (I)Programación orientada a objetos (I)
Programación orientada a objetos (I)
 
Clase No.1 Introducción a la Programación en JAVA
Clase No.1 Introducción a la Programación en JAVAClase No.1 Introducción a la Programación en JAVA
Clase No.1 Introducción a la Programación en JAVA
 
Lenguajes de programación orientados a objetos
Lenguajes de programación orientados a objetosLenguajes de programación orientados a objetos
Lenguajes de programación orientados a objetos
 
Cuestionario
CuestionarioCuestionario
Cuestionario
 
Fondo1 (2)
Fondo1 (2)Fondo1 (2)
Fondo1 (2)
 
cuestionario de Programación
cuestionario de Programación cuestionario de Programación
cuestionario de Programación
 
Met2 07 01-introduccion_poo
Met2 07 01-introduccion_pooMet2 07 01-introduccion_poo
Met2 07 01-introduccion_poo
 
Apuntes de introduccion a la programación
Apuntes de introduccion a la programaciónApuntes de introduccion a la programación
Apuntes de introduccion a la programación
 
Semana 1 guia1 - fundamentos de programacion
Semana 1   guia1 - fundamentos de programacionSemana 1   guia1 - fundamentos de programacion
Semana 1 guia1 - fundamentos de programacion
 
Swin01
Swin01Swin01
Swin01
 

Destaque

Syllabus programacion orientada_a_objetos_i_2014
Syllabus programacion orientada_a_objetos_i_2014Syllabus programacion orientada_a_objetos_i_2014
Syllabus programacion orientada_a_objetos_i_2014Nanygonzalez13
 
Ejercidos resueltos en java para el portafolio
Ejercidos resueltos en java para el portafolioEjercidos resueltos en java para el portafolio
Ejercidos resueltos en java para el portafolioJesica Pérez
 
Suma, resta, multiplicación, división, en java metodo
Suma, resta, multiplicación, división, en java metodoSuma, resta, multiplicación, división, en java metodo
Suma, resta, multiplicación, división, en java metodoAlex Penso Romero
 
Calculadora Gráfica Java implementando el Patrón MVC
Calculadora Gráfica Java implementando el Patrón MVCCalculadora Gráfica Java implementando el Patrón MVC
Calculadora Gráfica Java implementando el Patrón MVCIgnacio Aular Reyes
 
U.T. 3.- Programación Orientada a Objetos. Programación JAVA
U.T. 3.- Programación Orientada a Objetos. Programación JAVAU.T. 3.- Programación Orientada a Objetos. Programación JAVA
U.T. 3.- Programación Orientada a Objetos. Programación JAVAiessanjuanbosco
 
Programación Orientada a Eventos Java
Programación Orientada a Eventos JavaProgramación Orientada a Eventos Java
Programación Orientada a Eventos JavaJosé Mendoza
 
Introducción a la Programación con Java
Introducción a la Programación con JavaIntroducción a la Programación con Java
Introducción a la Programación con Javaflekoso
 
Algoritmos+y+flujogramas
Algoritmos+y+flujogramasAlgoritmos+y+flujogramas
Algoritmos+y+flujogramasluis840
 
Ejemplos de Algoritmos
Ejemplos de AlgoritmosEjemplos de Algoritmos
Ejemplos de AlgoritmosPepe Xdsasda
 

Destaque (13)

Syllabus programacion orientada_a_objetos_i_2014
Syllabus programacion orientada_a_objetos_i_2014Syllabus programacion orientada_a_objetos_i_2014
Syllabus programacion orientada_a_objetos_i_2014
 
Unidad4 sql
Unidad4 sqlUnidad4 sql
Unidad4 sql
 
Ejercidos resueltos en java para el portafolio
Ejercidos resueltos en java para el portafolioEjercidos resueltos en java para el portafolio
Ejercidos resueltos en java para el portafolio
 
Suma, resta, multiplicación, división, en java metodo
Suma, resta, multiplicación, división, en java metodoSuma, resta, multiplicación, división, en java metodo
Suma, resta, multiplicación, división, en java metodo
 
Calculadora con operaciones básicas en java
Calculadora con operaciones básicas en javaCalculadora con operaciones básicas en java
Calculadora con operaciones básicas en java
 
Calculadora Gráfica Java implementando el Patrón MVC
Calculadora Gráfica Java implementando el Patrón MVCCalculadora Gráfica Java implementando el Patrón MVC
Calculadora Gráfica Java implementando el Patrón MVC
 
Practica cliente servidor java
Practica cliente servidor javaPractica cliente servidor java
Practica cliente servidor java
 
U.T. 3.- Programación Orientada a Objetos. Programación JAVA
U.T. 3.- Programación Orientada a Objetos. Programación JAVAU.T. 3.- Programación Orientada a Objetos. Programación JAVA
U.T. 3.- Programación Orientada a Objetos. Programación JAVA
 
Programación Orientada a Eventos Java
Programación Orientada a Eventos JavaProgramación Orientada a Eventos Java
Programación Orientada a Eventos Java
 
Introducción a la Programación con Java
Introducción a la Programación con JavaIntroducción a la Programación con Java
Introducción a la Programación con Java
 
Algoritmos+y+flujogramas
Algoritmos+y+flujogramasAlgoritmos+y+flujogramas
Algoritmos+y+flujogramas
 
Curso Java Inacap
Curso Java InacapCurso Java Inacap
Curso Java Inacap
 
Ejemplos de Algoritmos
Ejemplos de AlgoritmosEjemplos de Algoritmos
Ejemplos de Algoritmos
 

Semelhante a PROGRAMACIÓN EN JAVA (20)

Diapositivas java
Diapositivas javaDiapositivas java
Diapositivas java
 
Java sandra
Java sandraJava sandra
Java sandra
 
Java sandra
Java sandraJava sandra
Java sandra
 
Introducción a la algoritmia
Introducción a la algoritmiaIntroducción a la algoritmia
Introducción a la algoritmia
 
Introducción a la algoritmia
Introducción a la algoritmiaIntroducción a la algoritmia
Introducción a la algoritmia
 
Programacion
ProgramacionProgramacion
Programacion
 
Fundamentos de Lenguaje de programacion
Fundamentos de Lenguaje de programacionFundamentos de Lenguaje de programacion
Fundamentos de Lenguaje de programacion
 
Java apesteguia
Java apesteguiaJava apesteguia
Java apesteguia
 
Java
Java Java
Java
 
Java
JavaJava
Java
 
Java
JavaJava
Java
 
Java Ago Dic07
Java Ago Dic07Java Ago Dic07
Java Ago Dic07
 
POOI- Unidad 1.pdf
POOI- Unidad 1.pdfPOOI- Unidad 1.pdf
POOI- Unidad 1.pdf
 
tecnología
tecnología tecnología
tecnología
 
tecnología.docx
tecnología.docxtecnología.docx
tecnología.docx
 
tecnología.docx
tecnología.docxtecnología.docx
tecnología.docx
 
tecnología.pdf
tecnología.pdftecnología.pdf
tecnología.pdf
 
Pseint
PseintPseint
Pseint
 
Pseint.
Pseint.Pseint.
Pseint.
 
Java
JavaJava
Java
 

Mais de Jhos Ayneth Suarez (13)

Adame jenny sistemagc
Adame jenny sistemagcAdame jenny sistemagc
Adame jenny sistemagc
 
Cms
CmsCms
Cms
 
Tipos de contabilidad y tipos de empresas
Tipos de contabilidad y tipos de empresasTipos de contabilidad y tipos de empresas
Tipos de contabilidad y tipos de empresas
 
Trabajo2
Trabajo2Trabajo2
Trabajo2
 
Jenny adame
Jenny adameJenny adame
Jenny adame
 
Listas en html
Listas en htmlListas en html
Listas en html
 
Web jenny adame
Web jenny adameWeb jenny adame
Web jenny adame
 
Ventajas desventajas y_pasos
Ventajas desventajas y_pasosVentajas desventajas y_pasos
Ventajas desventajas y_pasos
 
Jenny adame
Jenny adameJenny adame
Jenny adame
 
La internet
La internetLa internet
La internet
 
revista base de datos y visual studio
revista base de datos y visual studiorevista base de datos y visual studio
revista base de datos y visual studio
 
manual practico de excel
manual practico de excelmanual practico de excel
manual practico de excel
 
ADMINISTRACIÓN
ADMINISTRACIÓNADMINISTRACIÓN
ADMINISTRACIÓN
 

Último

Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfManuel Molina
 
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOTUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOweislaco
 
CIENCIAS NATURALES 4 TO ambientes .docx
CIENCIAS NATURALES 4 TO  ambientes .docxCIENCIAS NATURALES 4 TO  ambientes .docx
CIENCIAS NATURALES 4 TO ambientes .docxAgustinaNuez21
 
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docxPLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docxJUANSIMONPACHIN
 
c3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptxc3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptxMartín Ramírez
 
Uses of simple past and time expressions
Uses of simple past and time expressionsUses of simple past and time expressions
Uses of simple past and time expressionsConsueloSantana3
 
Instrucciones para la aplicacion de la PAA-2024b - (Mayo 2024)
Instrucciones para la aplicacion de la PAA-2024b - (Mayo 2024)Instrucciones para la aplicacion de la PAA-2024b - (Mayo 2024)
Instrucciones para la aplicacion de la PAA-2024b - (Mayo 2024)veganet
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialpatriciaines1993
 
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).pptPINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).pptAlberto Rubio
 
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALVOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALEDUCCUniversidadCatl
 
Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024IES Vicent Andres Estelles
 
Los Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la SostenibilidadLos Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la SostenibilidadJonathanCovena1
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxYeseniaRivera50
 
Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Angélica Soledad Vega Ramírez
 
libro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación iniciallibro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación inicialLorenaSanchez350426
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptxJunkotantik
 

Último (20)

Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
 
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOTUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
 
CIENCIAS NATURALES 4 TO ambientes .docx
CIENCIAS NATURALES 4 TO  ambientes .docxCIENCIAS NATURALES 4 TO  ambientes .docx
CIENCIAS NATURALES 4 TO ambientes .docx
 
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docxPLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
 
c3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptxc3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptx
 
Uses of simple past and time expressions
Uses of simple past and time expressionsUses of simple past and time expressions
Uses of simple past and time expressions
 
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdfTema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
 
Instrucciones para la aplicacion de la PAA-2024b - (Mayo 2024)
Instrucciones para la aplicacion de la PAA-2024b - (Mayo 2024)Instrucciones para la aplicacion de la PAA-2024b - (Mayo 2024)
Instrucciones para la aplicacion de la PAA-2024b - (Mayo 2024)
 
Earth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversaryEarth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversary
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundial
 
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).pptPINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
 
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALVOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
 
Aedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptxAedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptx
 
Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024
 
Los Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la SostenibilidadLos Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la Sostenibilidad
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
 
Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...
 
libro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación iniciallibro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación inicial
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptx
 
PPTX: La luz brilla en la oscuridad.pptx
PPTX: La luz brilla en la oscuridad.pptxPPTX: La luz brilla en la oscuridad.pptx
PPTX: La luz brilla en la oscuridad.pptx
 

PROGRAMACIÓN EN JAVA

  • 1. 0 |
  • 2. 1 | UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN Carrera: Docencia en Informática Modalidad Presencial Tercer Semestre PROGRAMACIÓN II Lenguaje de Programación Orientado a Objetos Docente: Ing. Wilma Gavilanes. Estudiante: Zapata Suarez Jhoselyn Ayneth AMBATO – ECUADOR Período: Febrero 2014-Agosto.
  • 3. 2 | INDICE INTRODUCCIÓN................................................................................................................................... 3 ¿QUÉ UTILIDAD TIENE ESTE PROGRAMA? .......................................................................................... 3 EXPRESIONES....................................................................................................................................... 4 OPERADORES....................................................................................................................................... 5 Operadores unarios......................................................................................................................... 5 OPERADORES BINARIOS.................................................................................................................. 6 PRECEDENCIA DE OPERADORES...................................................................................................... 6 SENTENCIAS......................................................................................................................................... 7 CONVERSIÓN DE TIPOS ....................................................................................................................... 8 CARACTERÍSTICAS................................................................................................................................ 9 CLASES............................................................................................................................................... 11 BOOLEAN....................................................................................................................................... 11 DOUBLE ......................................................................................................................................... 11 FLOAT ............................................................................................................................................ 11 INTEGER......................................................................................................................................... 11 MATH............................................................................................................................................. 12 STRING........................................................................................................................................... 12 CONCEPTO DE INMUTABILIDAD.................................................................................................... 13 STRINGBUFFER .............................................................................................................................. 13 SYSTEM.......................................................................................................................................... 14 ¿QUÉ ES NETBEANS?......................................................................................................................... 14 BIBLIOTECAS DE JAVA........................................................................................................................ 16 SINTAXIS............................................................................................................................................ 16 CÓDIGO BÁSICO EN JAVA.................................................................................................................. 17 BIBLIOGRAFÍA.................................................................................................................................... 22 EJERCICIOS RESUELTOS DE JAVA EN NETNEANS ...................................................... 23
  • 4. 3 | INTRODUCCIÓN Java es un lenguaje de programación orientado a objetos, desarrollado por Sun MicroSystems a principios de la década de 1990. Este lenguaje toma la estructura de sintaxis (escritura de código fuente) de C y C++ incorporando un modelo de objetos más simples y eliminando las herramientas de bajo nivel (que suele inducir muchos errores como la manipulación de punteros en C y C++). El surgimiento de Java es propiciado porque en la década de 1980 aparecieron varios lenguajes orientados a objetos y también se realizaron versiones orientadas a objetos (o semi-orientados a objetos) de lenguajes clásicos. Una de las más famosas fue el lenguaje orientado a objetos creado a partir del C tradicional; se le llamó C++ indicando con esa simbología que era un incremento del lenguaje C (en el lenguaje C, como en Java, los símbolos ++ significan incrementar) (Sánchez, 2004). La Programación Orientada a Objetos (POO) permite desarrollar aplicaciones de forma más parecida al pensamiento humano, de hecho simplifica el problema de programación (principalmente en el desarrollo de aplicaciones de código largo) dividiéndolo en objetos, permitiendo centrarse en cada objeto, de esa manera se elimina la complejidad de escribir código largo. En este capítulo se abordará la historia de Java, su evolución, su filosofía y entornos de desarrollo así como los distintos IDEs (interfaz de entorno de desarrollo) desde consola hasta las aplicaciones móviles haciendo referencia al IDE NetBeans pues este IDE constituye el enfoque sobre el cual se fundamenta este manual. ¿QUÉ UTILIDAD TIENE ESTE PROGRAMA? Existe un gran número de aplicaciones y sitios Web que no funcionan a menos que Java esté instalado, y muchas más que se crean a diario. Java es rápido, seguro y fiable. De portátiles a centros de datos, de consolas de juegos a superequipos científicos, de teléfonos móviles a Internet, Java está en todas partes.
  • 5. 4 | EXPRESIONES Las expresiones son un conjunto de elementos o tokens junto con literales que son evaluados para devolver un resultado. Los tokens son elemento más pequeño de un programa que es significativo, e interpretado o entendido por el compilador, en java los tokens se dividen en cinco categorías que son: Identificadores: Son las representaciones que se les da a los nombres que se asignan a las variables, clases, paquetes, métodos y constantes en el código de java para que el compilador los identifique y el programador pueda entenderlos. En java los identificadores pueden diferenciar entre mayúsculas o minúsculas por ser case sensitive, por lo que la variable cuyo nombre sea “Mivariable”, no es igual a “mivariable”, ya que java identifica estas como variables diferentes por el case sensitive, también se puede utilizar números, o el signo “_” para asignar un identificador. abstract boolean break byte case catch char class continue default do double else extends false final finally float for if implements import instanceof int interface long native new null package private protected public return short static super switch syncronized this throw throws transient true try
  • 6. 5 | void volatile while var rest byvalue cast const future generic goto inner operator outer Las palabras que se encuentran en negrilla, son palabras claves para java aunque actualmente no se utilicen en la versión de java, pero se pretenden integrar en las siguientes versiones de java. Literales y constantes: Los literales son sintaxis para asignar valores a una variable, es decir el valor que puede tomar una variable, también es un valor constante que puede ser de tipo numérico. Las constantes son variables que tienen un valor fijo y no puede ser modificado en el trascurso de la ejecución del código, estas se declaran por medio de los modificadores final y static. final static double pi= 3.1416; OPERADORES Los operadores son aquellos que tras realizar una operación devuelven un resultado, estos se puede caracterizar por el número de operadores, el tipo de operandos, y el resultado que generan. Número de operandos. Pueden ser de dos tipos unarios, y binarios. Los unarios son aquellos que solo necesitan de un operando para devolver un valor, mientras que los binarios necesitan de dos o más operandos. Operadores unarios. Operador Descripción - Cambio de signo ! Operador NOT ~ Complemento a 1
  • 7. 6 | OPERADORES BINARIOS. Operadores Descripción + - * / % Operadores aritméticos == != < > <= >= Operadores relacionales && || ^ Operadores booleanos ^ << >> >>> Operadores a nivel de bit + Concatenación de cadenas PRECEDENCIA DE OPERADORES Los operadores son una parte principal en las expresiones, el tipo y forma de uso es fundamental a la hora de programas, pero para su uso se tiene que tener en cuenta una serie de normas, como lo son la precedencia de los operadores. Tipo de operadores Operadores Operadores posfijos [ ] . ( parámetros) expr++ expr-- Operadores unarios ++expr –expr +expr -expr ~ ! Creación o conversión New (tipo) expr Multiplicación * / % Suma + - Desplazamiento << >> >>> Comparación < > <= >= instanceof Igualdad == != AND a nivel bit & OR a nivel bit | XOR a nivel bit ^ AND lógico && OR lógico || Condicional ? : Asignación = += -= *= /= %= &= ^= |= <<= >>= >>>= Un ejemplo de la precedencia de los operadores en java podría ser el siguiente, en donde tenemos un código que se encargará de realizar una serie de operaciones aritméticas.
  • 8. 7 | int numero1 = 3; int numero2 = 4; int resultado; resultado = numero1 + numero2 * 3; System.out.println (resultado); //esto imprime el valor de 15 según la precedencia de los operadores la multiplicación * tiene mayor prioridad que la suma +, por lo que primero se ejecuta la multiplicación y luego se realiza la suma. int numero1 = 3; int numero2 = 4; int resultado; resultado = (numero1 + numero2) * 3; System.out.println (resultado); //esto imprime el valor de 21 En este caso el resultado cambia ya que primero se evalúan los parámetros que están dentro del paréntesis y luego se evalúa el resto de parámetros. Una de las recomendaciones que da java para el desarrollo es el uso de los paréntesis en las operaciones con más de 3 operandos, así de esta forma el código se hace más legible y se evitan errores al momento de compilar. SENTENCIAS Las sentencias son una representación de una secuencia de acciones que se realizan en java, la clave fundamental de las sentencias es su punto final que indica que ha finalizado la sentencia y puede continuar con la siguiente, el indicador utilizado es el signo de punto y coma (;). Contamos en java con sentencias que pueden ir desde sentencias de asignación, de bucles, condicionales, y de salto. Las sentencias se conforman comúnmente por una instancia, y un operador, un ejemplo es la sentencia de asignación que se conforma por una instancia de una variable, el signo de asignación y una expresión, un ejemplo es: Las sentencias de asignación son aquellas en las que se asigna un valor a una variable o constante. Las sentencias condicionales son las que expresan una condición para definir el flujo de ejecución del programa, entre ellas tenemos if-else y switch. Las sentencias de bucles se encargar de realizar una acción cierta cantidad de tiempo dado, o hasta que se cumpla con una condición, entre ellas tenemos el while, do-while, y for. Las sentencias de salto llevan al compilador a un punto específico del programa o
  • 9. 8 | hacia la siguiente sentencia de ejecución, entre ellas tenemos break, continue, y return. CONVERSIÓN DE TIPOS En algunos casos suele ser necesario convertir un tipo de dato a otro, esto se le conoce como conversión de tipos, modelado, o tipado, así de esta forma poder realizar las operaciones necesarias sobre el valor que se desea convertir. Se debe tener en cuenta el tipo de dato que se va a convertir, ya que si se convierte un dato que tenga una cantidad menor de bit al anterior este tendrá perdida de información, un ejemplo de tipado puede ser un número long que se desea convertir a int, el compilador eliminara los primeros 32bit del long para ajustarlo al int ya que el int es de 32bit y el long de 64. Si la conversión se realiza a un tipo de datos de menos bit a un tipo de datos con mayor bit, la conversión se realiza automáticamente llamada conversión implícita, pero si se realiza de un tipo de datos con mayor bit a menor bit se tiene que realizar una conversión explicita, la cual se realiza con un casting, al usar este método se obliga a realizar la conversión por lo cual puede haber perdida de datos en la conversión. Para realizar una conversión explicita se tiene que poner el tipo de dato que se desea realizar la conversión entre paréntesis, luego el valor o la variable que se desea convertir. Un ejemplo de conversión de tipo explicito puede ser: Int numero1 = 32; byte numero2; numero2 = (byte) numero1; Las siguiente tabla muestra la los tipos de datos que se pueden realizar una conversión implícita desde el dato origen, hasta el dato destino que es el dato en el que se va a convertir. Tipo origen Tipo destino byte double, float, long, int, char, short short double, float, long, int char double, float, long, int int double, float, long long double, float
  • 10. 9 | float double Los tipos de datos booleanos no pueden ser convertidos a otro tipo de datos, por ningún método mencionado anteriormente. Otro tipo de conversión que no se encuentre en esta tabla desde el origen al destino, tiene que realizarse por medio de una conversión explícita por casting. Cuando se desea realizar una conversión de un tipo string como origen a otro tipo, es necesario utilizar una función que se encarga de convertir el tipo de dato, la función necesaria se compone de la variable que va almacenar el resultado, y dependiendo de la variable se usa el parámetro que inicia con el tipo de dato a convertir, Integer, Byte, Short, o Long, seguida de punto “. “, el cual indica que se cargarán los atributos del parámetro, en donde cargaremos el parseInt si queremos convertir a interger o parseByte si queremos convertir a byte, o dependiendo del tipo de dato, seguido de paréntesis en donde se agregara el valor de string a convertir. Algunos ejemplos puede ser: int numero1; long numero2; byte numero3; String texto= “2013”; numero1 = Integer.parseInt ( texto ); numero2 = Long.parseLong ( texto); numero3 = Byte.parseByte ( texto ); esto suele ser usado para realizar una conversión de texto cuando se ingresan valores numéricos por una entrada a java, la cual los detecta como string, así de esta forma puede convertir el texto que se ingresa a un número para realizar operaciones, como una calculadora. CARACTERÍSTICAS  Lenguaje totalmente orientado a Objetos. Todos los conceptos en los que se apoya esta técnica, encapsulación, herencia, polimorfismo, etc., están presentes en Java.  Disponibilidad de un amplio conjunto de bibliotecas. Como ya se mencionó anteriormente, Java es algo más que un lenguaje. La programación de aplicaciones con Java se basa no solo en el empleo del juego de instrucciones que componen el
  • 11. 10 | lenguaje, sino, fundamentalmente, en la posibilidad de utilizar el amplísimo conjunto de clases que Sun pone a disposición del programador y con las cuales es posible realizar prácticamente cualquier tipo de aplicación.  Lenguaje simple. Java posee una curva de aprendizaje muy rápida. Resulta relativamente sencillo escribir applets interesantes desde el principio. Todos aquellos familiarizados con C++ encontrarán que Java es más sencillo, ya que se han eliminado ciertas características, como los punteros. Debido a su semejanza con C y C++, y dado que la mayoría de la gente los conoce aunque sea de forma elemental, resulta muy fácil aprender Java. Los programadores experimentados en C++ pueden migrar muy rápidamente a Java y ser productivos en poco tiempo.  Seguro (?). Dada la naturaleza distribuida de Java, donde las applets se bajan desde cualquier punto de la Red, la seguridad se impuso como una necesidad de vital importancia. A nadie le gustaría ejecutar en su ordenador programas con acceso total a su sistema, procedentes de fuentes desconocidas. Así que se implementaron barreras de seguridad en el lenguaje y en el sistema de ejecución en tiempo real.  Portable. La indiferencia a la arquitectura representa sólo una parte de su portabilidad. Además, Java especifica los tamaños de sus tipos de datos básicos y el comportamiento de sus operadores aritméticos, de manera que los programas son iguales en todas las plataformas. Estas dos últimas características se conocen como la Máquina Virtual Java (JVM).  Dinámico. El lenguaje Java y su sistema de ejecución en tiempo real son dinámicos en la fase de enlazado. Las clases sólo se enlazan a medida que son necesitadas. Se pueden enlazar nuevos módulos de código bajo demanda, procedente de fuentes muy variadas, incluso desde la Red.  Produce applets. Java puede ser usado para crear dos tipos de programas: aplicaciones independientes y applets. Las aplicaciones independientes se comportan como cualquier otro programa escrito en cualquier lenguaje, como por ejemplo el navegador de Web HotJava, escrito íntegramente en Java. Por su parte,
  • 12. 11 | las applets son pequeños programas que aparecen embebidos en las páginas Web, como aparecen los gráficos o el texto, pero con la capacidad de ejecutar acciones muy complejas, como animar imágenes, establecer conexiones de red, presentar menús y cuadros de diálogo para luego emprender acciones, etc. CLASES En cuanto a lo que respecta a clases, todas son casi imprescindibles de conocer, ya que son básicas y por eso están en el paquete java.lang pero vamos a destacar unas cuantas por considerarlas principales. BOOLEAN La clase Boolean ya la conocemos. Es lo que se llama un wrap o envoltorio, que es una clase que permite manejar los datos equivalentes de tipo primitivo. En este caso la clase Boolean es un wrap del tipo primitivo boolean. Los métodos de esta clase permiten el manejo de los valores primitivos true o false, su modificación o su comparación ya que implementa la interfaz Comparable. DOUBLE Es la clase wrap correspondiente al tipo primitivo double, por lo que lo métodos son muy parecidos a los de la clase Boolean, pero manejando los tipos primitivos para double. Permitiendo obtener, modificar, comparar, etc valores de tipo double. FLOAT Al igual que las anteriores también es un wrap pero para el tipo básico o primitivo float. INTEGER Esta es quizás la clase de todos los wrappers más utilizada con diferencia
  • 13. 12 | y por tanto maneja tipos primitivos de tipo int. Tiene una gran cantidad de métodos sobre todo para poder convertir el entero a otros tipos como long, float, double, etc. MATH La clase Math tiene una gran cantidad de métodos para poder hacer operaciones matemáticas, como las funciones sin (double a) que calcula el seno del valor a, tan (double a) que calcula la tangente de a, etc. STRING La clase String, quizás hasta más utilizada que la Integer, es una clase que permite la definición y manejo de cadenas de caracteres. Pero un inconveniente posible es que se define como constante y tras su creación no puede ser cambiada (se dice que es inmutable, como explicaremos más adelante). Por ejemplo si quisiéramos tener una cadena con valores “abc” bastaría con definir una variable de la Clase String de la siguiente manera: String str = "abc"; Esto automáticamente es correcto aunque quizás fuera más formal lo siguiente: char data[] = {'a', 'b', 'c'}; String str = new String(data); La amplia funcionalidad y manejo de String se puede ver en la gran cantidad de métodos que disponemos en esta clase para su manejo, donde podemos hacer comparaciones entre cadenas, comparaciones ignorando mayúsculas (muy útil cuando por ejemplo queremos comparar si la contraseña de un usuario es la correcta), concatenación de cadenas, consulta de carácter en una posición determinada de la cadena, reemplazar caracteres, convertir a mayúsculas, o minúsculas, etc.
  • 14. 13 | CONCEPTO DE INMUTABILIDAD Veamos el significado de inmutable, que no es precisamente sencillo de explicar. Consideremos que un objeto ocupa un espacio de memoria. Ahora diremos que hay dos tipos de objetos: a) Objetos mutables: son aquellos cuyo espacio de memoria puede ser reemplazado por un contenido definido con posterioridad a la creación del objeto. En este caso, cuando usamos métodos modificadores es el objeto original el que sufre el cambio. b) Objetos inmutables: son aquellos cuyo espacio de memoria permanece ocupado con el objeto tal y como se creó inicialmente. ¿Significa esto que no podemos usar métodos modificadores? No, no significa eso. Significa que cuando usamos métodos modificadores en vez de redefinirse el objeto original, la variable apuntadora pasa a apuntar a un nuevo objeto que se crea, permaneciendo el original en su espacio de memoria, podemos decir que en algunos casos “inaccesible”, pero estando. En Java, la mayoría de los objetos "esenciales" son inmutables: Long, Integer, Boolean, String, , etc. Un objeto se considera inmutable si su estado no puede cambiarse luego de ser construido. Este comportamiento está ampliamente aceptado como una estrategia robusta para crear código simple y confiable. La inmutabilidad se considera efectiva en aplicaciones concurrentes (hablamos de concurrencia para referirnos a dos tareas que transcurren durante el mismo intervalo de tiempo) donde la mutabilidad (cambiar los objetos su estado), podría dar lugar a que los objetos se corrompieran o llegaran a tener un estado inconsistente. STRINGBUFFER Es una versión mejorada o ampliada de la clase String, ya que permite su modificación después de su creación, es decir, los objetos de tipo StringBuffer son objeto mutables. El método más utilizado de esta clase es insert, que permite insertar cualquier objeto de cualquier tipo como String a la secuencia de StringBuffer.
  • 15. 14 | SYSTEM Por último la clase System es una de las clases más usuales. Define tres campos err, in y out que respectivamente son la salida estándar de error, entrada estándar y salida estándar. Los métodos para el manejo de estas entradas y salidas estándares de datos son bastante utilizados, al igual que el método currentTimeMillis() que devuelve la fecha actual en milisegundos. También es muy usual el uso del métodogetenv() para acceder a variables de entorno o propiedades del sistema. Cuando se invoca este método, se nos devuelve información sobre el sistema con que estamos trabajando. ¿QUÉ ES NETBEANS? NetBeans es un proyecto exitoso de código abierto con una gran base de usuarios, una comunidad en constante crecimiento, y con cerca de 100 socios (¡y creciendo!) en todo el mundo. Sun MicroSystems fundó el proyecto de código abierto NetBeans en junio 2000 y continúa siendo el patrocinador principal de los proyectos. NetBeans IDE es un entorno de desarrollo - una herramienta para que los programadores puedan escribir, compilar, depurar y ejecutar programas. Está escrito en Java - pero puede servir para cualquier otro lenguaje de programación. Existe además un número importante de módulos para extender el NetBeans IDE. NetBeans IDE es un producto libre y gratuito sin restricciones de uso.
  • 16. 15 | En una ventana posterior daremos nombre al proyecto y escogeremos una ubicación en el disco para almacenarlo. También nos dará la opción para crear automáticamente una clase principal, la que hasta ahora hemos llamado Test, y que aquí por defecto se llamará Main. Una vez hecho esto, la ventana de trabajo nos resultará sin duda compleja, pero también familiar: NetBeans nos ofrece un esqueleto de clase Main, que podemos utilizar para hacer nuestra primera prueba. Por defecto, NetBeans compila automáticamente los archivos en el momento en que los grabas (icono del diskette), de forma que únicamente necesitamos utilizar el botón que representa una flecha verde, como el play de un mando a distancia. Verás el resultado de la ejecución en la ventana inferior:
  • 17. 16 | BIBLIOTECAS DE JAVA, que son el resultado de compilar el código fuente desarrollado por quien implementa la JRE, y que ofrecen apoyo para el desarrollo en Java. Algunos ejemplos de estas bibliotecas son: - Las bibliotecas centrales, que incluyen una colección de bibliotecas para implementar estructuras de datos como listas, arrays, árboles y conjuntos. - Bibliotecas para análisis de XML. - Seguridad: Bibliotecas de internacionalización y localización. - Bibliotecas de integración, que permiten la comunicación con sistemas externos. Estas bibliotecas incluyen: La API para acceso a bases de datos JDBC (Java DataBase Conectivity). La interfaz JNDI (Java Naming and Directory Interface) para servicios de directorio. RMI (Remote Method Invocation) y CORBA para el desarrollo de aplicaciones distribuidas. - Bibliotecas para la interfaz de usuario, que incluyen: El conjunto de herramientas nativas AWT (Abstract Windowing Toolkit), que ofrece componentes GUI (Graphical User Interface), mecanismos para usarlos y manejar sus eventos asociados. Las Bibliotecas de Swing, construidas sobre AWT pero ofrecen implementaciones no nativas de los componentes de AWT. - Plugins o conectores que permiten ejecutar applets en los navegadores Web. - Java Web Start, para la distribución de aplicaciones Java a través de Internet. - Documentación y licencia. SINTAXIS La sintaxis de Java se deriva en gran medida de C++. Pero a diferencia de éste, que combina la sintaxis para programación genérica, estructurada y orientada a objetos, Java fue construido desde el principio para ser completamente orientado a objetos. Todo en Java es un objeto (salvo algunas excepciones), y todo en Java reside en alguna
  • 18. 17 | clase (recordemos que una clase es un molde a partir del cual pueden crearse varios objetos). CÓDIGO BÁSICO EN JAVA En lenguaje de programación java, absolutamente todo es un objeto. Así desde el programa principal, las librerías que usemos, y archivos extras que integremos serán clases para crear objetos, un programa básico en java necesita tener las siguientes lineas: La primer linea dice public class HolaMundo es la declaración de la clase: • public especifica el nivel de acceso, esto quiere decir que la clase sera accesible por cualquier elemento. También están los niveles private y protected • class: especifica que es una clase. • HolaMundo: es el nombre de la clase, tomar en cuenta que el nombre del archivo debe ser igual al nombre de la clase que contiene el método (función de clase) principal (main). Deben respetarse mayúsculas y minúsculas. La segunda linea de código public static void main(String[ ] args) es la declaración de el método principal de la aplicación de java: • public: especifica el nivel de acceso a la método, esto quiere decir que es accesible por cualquier método que pueda acceder a la clase de objetos . • static: especifica que la función principal solo sera creada una vez, e invocada desde la clase. • void: dice que el retorno de este método sera de tipo genérico (flujo de bits), convertible a cualquier tipo de dato. • main: nombre del método, para este caso este nombre se reserva para el método principal y sera usado como punto de inicio de la aplicación.
  • 19. 18 | • String[ ] args: arreglo de parámetros al programa (en caso que se invoque por linea de comandos). • System: es una clase estándar java para llamadas al sistema, en esta se encuentras las operaciones básicas de entrada y salida. • out: es una clase declarada dentro de system, y se encarga de manejar las salidas estándar del sistema, por lo general el monitor • println: es un método de la clase out que recoge como argumento el texto que se imprimirá en Pantalla Para poner en marcha todo hay que hacer los siguiente: 1. Editar este código en un archivo de texto el cual debe ser guardado con un nombre como la clase principal, para este caso el archivo se llamara HolaMundo.java. 2. Luego se debe de compilar el archivo con el comando javac, este creara el archivo HolaMundo.class. Este contiene los bytecodes que interpretara el JVM. 3. Por ultimo ejecutamos el archivo con el JVM por medio del comando java, mandandole como parámetro el nombre de la aplicación que se creo en el numeral anterior. Cómo crear una aplicación nueva menú Archivo y después pulsaremos en Nuevo proyecto.
  • 20. 19 | Aparecerá una pantalla en la que tenemos que seleccionar qué tipo de proyecto queremos realizar. Seleccionaremos la categoría Java y en el panel de la derecha Java Application. Después pulsamos Next. En la siguiente pantalla se nos preguntará por las propiedades generales del proyecto: nombre, la carpeta donde lo queremos guardar, si queremos utilizar una carpeta específica para guardar las librerías, si queremos crear una clase principal y si queremos establecerla como proyecto principal. Las opciones de arriba las podéis configurar como queráis, dejad la casilla de las librerías desmarcada, y por último, como vemos en la fotografía, activaremos las dos casillas de la parte inferior. Esto es necesario para que el sistema sepa que lo que vamos a escribir será lo que tenga que ejecutar cuando finalicemos. En el cuadro de texto he escrito “HolaMundo”, que será la aplicación que hayamos creado. Por último pulsamos en Finish. La ventana de proyectos
  • 21. 20 | Ventana de código Todo lo que aparece en color gris claro son comentarios. Es muy importante que nos acostumbremos a realizar comentarios en nuestros programas. Esto tiene muchas utilidades como poder recordar mejor en un futuro qué es exactamente lo que hacía este código y también que si otra persona lo ve, pueda entender mejor cómo resuelve el problema nuestro programa. Para hacer un comentario de varias líneas usaremos /* para iniciarlo y */ para finalizarlo. Si vamos a hacer un comentario de una sóla línea podemos comenzarlo por // En la línea 11 definimos la clase holamundo, el cuerpo de la clase queda encerrado entre { y}, cualquier cosa que coloquemos entre esas llaves será el código que pertenezca a la clase holamundo.
  • 22. 21 | En la línea 16 se ha iniciado el método principal main. Cuando se ejecuta una aplicación, Java espera que haya un método main, ya que será lo primero que ejecute. Este método define el punto de entrada y salida de la aplicación. La clase define los atributos y métodos comunes a los objetos de ese tipo, pero luego, cada objeto tendrá sus propios valores y compartirán las mismas funciones. Debemos crear una clase antes de poder crear objetos (instancias) de esa clase. Al crear un objeto de una clase, se dice que se crea una instancia de la clase o un objeto propiamente dicho. La estructura de una clase es: class [nombre de la clase] { [atributos o variables de la clase] [métodos o funciones de la clase] [main] }
  • 24. 23 | UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN Carrera: Docencia en Informática Modalidad Presencial Tercer Semestre PROGRAMACIÓN II EJERCICIOS RESUELTOS DE JAVA EN NETNEANS Docente: Ing. Wilma Gavilanes. Estudiante: Zapata Suarez Jhoselyn Ayneth AMBATO – ECUADOR Período: Febrero 2014-Agosto.
  • 25. 24 | ENUNCIADO Utilizando el lenguaje de programación orientado a objetos JAVA realizar una suma ingresando dos números enteros desde teclado ANÁLISIS Este programa nos permite relizar la suma ded dos números ingresados por teclado mediante la función JOptionPane.showInputDialog y luego la convertimos en dato en tero con la función Integer.parseInt(); y realizamos la respectiva suma e imprimimos la respuesta con la función JOptionPane.showMessageDialog(null," " + ); CODIFICACIÓN package sumadenumeros1; import javax.swing.JOptionPane; /** * * @author Lab03-PC02 */ public class Sumadenumeros1 { /** * @param args the command line arguments */ public static void main(String[] args) { String dato1, dato2; int num1, num2, num3; dato1=JOptionPane.showInputDialog("Ingrese el dato 1..: "); num1=Integer.parseInt(dato1); dato2=JOptionPane.showInputDialog("Ingrese el dato 2..: "); num2=Integer.parseInt(dato2); num3=num1+num2; JOptionPane.showMessageDialog(null,"la suma es..: " + num3); // TODO code application logic here } } Nombre del programa o proyecto Librería Inicio del programa Declaración de variables de tipo caracter Ingresamos el 1er numero Ingresamos el 2do numero Operación para hacer la suma Visualizamos el resultado
  • 26. 25 | CORRIDO ENUNCIADO: Diseñar un programa en JAVA que me permita resolver las operaciones básicas. ANÁLISIS: Codificaremos un programa que realice las operaciones básicas (suma, resta, multiplicación, división), para lo cual en la suma y multiplicación no tendremos problema ya no importa si el primer término o el segundo término sea mayor o menor, a diferencia de la resta y la división que el primer término deberá ser mayor que el segundo, para esto utilizaremos un controlador en estos dos casos; y un suitch para una mejor presentación. CÓDIFICACION package operacionesbasicas; import javax.swing.JOptionPane; public class Operacionesbasicas { public static void main(String[] args) { String d1,d2,d3,d4,d5; int op,n,m,a,b,c,op1; Importación de librerías del programa Declaración de variables
  • 27. 26 | do { d1=JOptionPane.showInputDialog("**OPERACIONES BASICAS**"+"n 1.-SUMA"+"n 2.- RESTA"+"n 3.-MULTIPLICACION"+"n 4.-DIVISION"+"n 5.-SALIR"); op=Integer.parseInt(d1); switch(op) { case 1: d2=JOptionPane.showInputDialog("SUMAn"+"INGRESE EL PRIMER DATO : "); n=Integer.parseInt(d2); d3=JOptionPane.showInputDialog("INGRESE EL SEGUNDO DATO : "); m=Integer.parseInt(d3); c=n+m; JOptionPane.showMessageDialog(null,"RESPUESTA : "+c); break; case 2: d2=JOptionPane.showInputDialog("RESTAn"+"INGRESE EL PRIMER DATO : "); n=Integer.parseInt(d2); do { d3=JOptionPane.showInputDialog("INGRESE EL SEGUNDO DATO : "); m=Integer.parseInt(d3); }while(n>m); c=n-m; JOptionPane.showMessageDialog(null,"RESPUESTA : "+c); break; case 3: d2=JOptionPane.showInputDialog("MULTIPLICACION n"+"INGRESE EL PRIMER DATO : "); n=Integer.parseInt(d2); d3=JOptionPane.showInputDialog("INGRESE EL SEGUNDO DATO : "); m=Integer.parseInt(d3); c=n*m; JOptionPane.showMessageDialog(null,"RESPUESTA : "+c); break; case 4: d2=JOptionPane.showInputDialog("DIVICIONn"+"INGRESE EL PRIMER DATO : "); n=Integer.parseInt(d2); do { d3=JOptionPane.showInputDialog("INGRESE EL SEGUNDO DATO : "); m=Integer.parseInt(d3); }while(n>m); c=n/m; JOptionPane.showMessageDialog(null,"RESPUESTA : "+c); Inicio del ciclo do Impresión del Menú de Opciones Inicio del switc Case 1 en este case esta el proceso para la suma con impresiones, proceso y una ultima impresión para el resultado. Case 1 en este case esta el proceso para la resta con impresiones, proceso y una ultima impresión para el resultado. Con un control de ingreso Case 1 en este case esta el proceso para la multiplicación con impresiones, proceso y una ultima impresión para el resultado Case 1 en este case esta el proceso para la división con impresiones, proceso y una ultima impresión para el resultado. Con un control
  • 28. 27 | break; } d5=JOptionPane.showInputDialog("DESEA REPETIR 1 O 0 PARA SALIR: "); op1=Integer.parseInt(d5); }while(op1==1); } } CORRIDO Fin del ciclo do while Llaves de finalización del programa
  • 29. 28 | ENUNCIADO Diseñe un programa que me permita ingresar los datos correspondientes para obtener el área y el perímetro de las 4 figuras básicas. ANÁLISIS Para calcular el área del cuadrado solo debo ingresar un lado y multiplicarlo (área=l*l) mientras que para el perímetro lo sumo cuatro veces (perímetro=l+l+l+l). Para el rectángulo, calcular el área es muy simple, solo debo multiplicar la base por su altura, para el perímetro debo en cambio sumar todos sus cuatro lados. Para calcular el área del triángulo debemos multiplicar la base por su altura dividido para 2, para calcular el perímetro debemos sumar todos sus tres lados. Ahora para el círculo solo hace falta ingresar el radio (el perímetro es el doble del radio), su perímetro se calcula multiplicando el diámetro por pi (PI 3.14159265) y el área se encuentra multiplicando pi por radio al cuadrado. DOCUMENTACIÓN package fig_bas; import javax.swing.JOptionPane; import fig_bas.figuras; public class Fig_bas { public static void main(String[] args) { String opc; int menu, cua, rect, circ, trian; opc=JOptionPane.showInputDialog("FIGURAS BÁSICAS nn1.- Cuadrado n2.- Rectángulo n3.- Círculo n4.- Triángulo n5.- Salir nnQue desea realizar"); menu=Integer.parseInt(opc); switch(menu) { case 1: cua=figuras.cuadrado(); break; case 2: rect=figuras.rectandulo(); break; Importación de librerías del programa Inicio del programa principal Declaración de variables Menú de opciones Inicio del menú de opciones Case 1: para encontrar el perímetro y el área de un cuadrado Case 2: para encontrar el perímetro y el área de un rectángulo
  • 30. 29 | case 3: circ=figuras.circulo(); break; case 4: trian=figuras.triangulo(); break; case 5: System.exit(0); break; } } } package fig_bas; import javax.swing.JOptionPane; public class figuras { public static int cuadrado() { String lado; int l, per, ar; lado=JOptionPane.showInputDialog("Ingrese el lado del cuadrado: "); l=Integer.parseInt(lado); per=l*4; ar=l*l; JOptionPane.showMessageDialog(null, "PERIMETRO DEL CUADRADO= " + per); JOptionPane.showMessageDialog(null, "ÁREA DEL CUADRADO= " + ar); return 0; } public static int rectandulo() { String lado1, lado2; int l1, l2, ar, per; lado1=JOptionPane.showInputDialog("Ingrese la base del rectángulo"); l1=Integer.parseInt(lado1); lado2=JOptionPane.showInputDialog("Ingrese la altura del rectángulo"); l2=Integer.parseInt(lado2); per=l1*2+l2*2; ar=l1*l2; Case 3: para encontrar el perímetro y el área de un círculo Case 4: para encontrar el perímetro y el área de un triángulo Case 5: para l salir del menú Clase (subprograma) para calcular el perímetro y el área de un cuadrado. Clase (subprograma) para calcular el perímetro y el área de un rectángulo. Inicio para crear clases.
  • 31. 30 | JOptionPane.showMessageDialog(null, "PERIMETRO DEL RECTÁNGULO= " + per); JOptionPane.showMessageDialog(null, "ÁREA DEL RECTÁNGULO= " + ar); return 0; } public static int circulo() { String radio; int r; double pi, ar, per; radio=JOptionPane.showInputDialog("Ingrese el radio del círculo"); r=Integer.parseInt(radio); pi=3.1416; ar=pi*r*r; per=2*pi*r; JOptionPane.showMessageDialog(null, "ÁREAL DEL CÍRCULO= " + ar); JOptionPane.showMessageDialog(null, "PERIMETRO DEL CÍRCULO= " + per); return 0; } public static int triangulo() { String lado1, lado2, lado3; int l1, l2, l3, per, ar; lado1=JOptionPane.showInputDialog("Ingrese la base del triángulo"); l1=Integer.parseInt(lado1); lado2=JOptionPane.showInputDialog("Ingrese la altura del triángulo"); l2=Integer.parseInt(lado2); lado3=JOptionPane.showInputDialog("Ingrese el lado restante del triángulo"); l3=Integer.parseInt(lado3); per=l1+l2+l3; ar=(l1*l2)/2; JOptionPane.showMessageDialog(null, "PERIMETRO DEL TRIÁNGULO= " + per); JOptionPane.showMessageDialog(null, "ÁREA DEL TRIÁNGULO= " + ar); return 0; Clase (subprograma) para calcular el perímetro y el área de un círculo. Clase (subprograma) para calcular el perímetro y el área de un triángulo.
  • 33. 32 | ENUNCIADO Diseñe un programa que me permita realizar la potenciación y radicación. ANALISIS En este programa podemos realizar la potenciación y la radicación; para la potenciación debemos declarar los variables de tipo carácter y de tipo enteras, luego ingresamos la base y el exponente por teclado; por ultimo realizamos el proceso de Math.pow(base, expo); para que se pueda realizar la potenciación, por ultimo visualizamos la respuesta. Para la radicación primero ingresamos un numero para poder realizar la radicación, luego ingresamos la formula Math.sqrt(radicando); para que se pueda realizar la radicación, por ultimo visualizamos la respuesta. DOCUMENTACION package poteyradi; import javax.swing.JOptionPane; public class PoteyRadi { public static void main(String[] args) { String dato1, dato2; double base, expo, resp; JOptionPane.showMessageDialog(null,"Potenciacion"); dato1=JOptionPane.showInputDialog("Ingrese una base: "); base=Integer.parseInt(dato1); dato2=JOptionPane.showInputDialog("Ingrese el exponente: "); expo=Integer.parseInt(dato2); resp=Math.pow(base, expo); JOptionPane.showMessageDialog(null, "El resultado es: "+resp); JOptionPane.showMessageDialog(null,"Radicación"); double radicando, raiz; dato1=JOptionPane.showInputDialog("Ingrese un indice: "); radicando=Integer.parseInt(dato1); raiz=Math.sqrt(radicando); JOptionPane.showConfirmDialog(null,"La raiz es: "+raiz); Nombre del programa o proyecto Librerí a Inicio del programa Declaración de variables de tipo Declaración de variables de tipo Ingresamos la base de la potenciación Ingresamos el exponente Formula o proceso para poder realizar la potenciación Visualizamos el resultado Ingresamos el índice de la raíz Formula o proceso para poder realizar la radicación Visualizamos el resultado
  • 34. 33 | }} CORRIDO ENUNCIADO Diseñe un programa que me permita ingresar un número entero desde teclado y verificar si el número es par o impar. ANALISIS Utilizamos un if para indicar la condición en donde preguntamos si el numero ingresado nos da igual a cero entonces imprimimos que es para caso contrario se imprime que el número es impar, también se utiliza otro if y un do while para indicar el rango en el que queremos que se encuentren los números ingresados por el usuario, y finalmente un sentencia do while para que el programa se repita tantas veces desee el programador. DOCUMENTACION package par.impar; Importación de librerías al programa
  • 35. 34 | import javax.swing.JOptionPane; public class PARIMPAR { @SuppressWarnings("empty-statement") public static void main(String[] args) { String dato1,dato2; int num1,num2; do { do { dato1=JOptionPane.showInputDialog("INGRESE EL NUMERO "); num1=Integer.parseInt(dato1); if(num1<6 ||num1>65) { JOptionPane.showMessageDialog(null,"EL NUMERO "+num1+" NO ESTA DENTRO DEL RANGO"); } } while(num1<6 || num1>65); if(num1%2==0) { JOptionPane.showMessageDialog(null,"EL NUMERO "+num1+" ES PAR "); } else { JOptionPane.showMessageDialog(null,"EL NUMERO "+ num1+" ES IMPAR "); } dato2=JOptionPane.showInputDialog("PRESIONE 1 PARA SALIR 0 PARA VOLVER"); num2=Integer.parseInt(dato2); } Declaración de las variables tanto String como enteras. Sentencia repetitiva que en este caso se utiliza para repetir el programa las veces que desee el usuario. Este do while lo utilizamos para validar datos. Pedimos que ingrese el número. Utilizamos la condición if para validar los datos. Si la condición no se cumple indicamos un mensaje entonces pedimos que ingrese otro número y cerramos la condición if. Cerramos la sentencia do while e indicamos el rango que queremos en el que se encuentre los números. Utilizamos la condición if para determinar si es para o impar. Si la condición se cumple imprimimos que es par y cerramos las llaves. Caso contrario, abrimos llaves. Se imprime que es impar y cierra las llaves. Escribimos un mensaje para repetir o no el programa. Se cierra la sentencia do while que permite repetir el proceso varias veces. Paquete del programa.
  • 37. 36 | ENUNCIADO: 6.- Diseñe un programa que me permita ingresar 3 valores flotantes desde teclado que estén entre 1 y 10, obtenga el promedio correspondiente y determine su equivalencia: aprobado, reprobado y suspenso Si el promedio es > = 7 Aprobado Si el promedio es > 5 y < 7 Suspenso Si el promedio es < = 5 Reprobado ANALISIS Debemos llamar a las librerías para que se habilite procesos propios del programa, luego ingresaremos los datos como: nombre, materia, y las tres notas las cuales son validadas que deben estar entre uno y diez ;para lo cual utilizaremos un do While y una condición si nos cumple pondremos un mensaje para que ingrese nuevamente la nota. Después haremos los cálculos y si la nota es mayor de siete aprobara e imprimirá el nombre su promedio y la materia. Si su nota es menor de siete y mayor que cinco se queda a suspenso e imprimirá el nombre su promedio y la materia. Si la nota es menor que cinco pues reprobara la materia e imprimirá el nombre su promedio y la materia Y por último utilizaremos otro do While para repetir el proceso las veces que el usuario desee. DOCUMENTACION package prom ediovalidacion; import javax.swing.JOptionPane; public class Promediovalidacion { Importación de librerías del programa
  • 38. 37 | public static void main(String[] args) { String dato1, dato2,dato3,dato4, nom, mat; float num, nombre, materia, nota1, nota2, nota3,pro; int op; do { nom=JOptionPane.showInputDialog("INGRESE EL NOMBRE:"); mat=JOptionPane.showInputDialog("INGRESE EL MATERIA:"); do { dato1= JOptionPane.showInputDialog("INGRESE LA NOTA1:"); nota1= Float.parseFloat(dato1); if(nota1<1||nota1>11) { JOptionPane.showInputDialog("VALOR INCORRECTO:"); } } while(nota1<1||nota1>11); do { dato2= JOptionPane.showInputDialog("INGRESE LA NOTA2:"); nota2= Float.parseFloat(dato2); if(nota2<1||nota2>11) { JOptionPane.showInputDialog("VALOR INCORRECTO:"); } } while(nota2<1||nota2>11); do { dato3= JOptionPane.showInputDialog("INGRESE LA NOTA3:"); nota3= Float.parseFloat(dato3); if(nota3<1||nota3>11) { Ingreso de variables Ingreso de datos nombre y materia del estudiante Ingreso de la primera nota Condición de la nota ingresada mensaje Ingreso de la segunda nota Validación de la nota entre 1 y 10 mensaje Condición de la nota ingresada Validación de la nota entre 1 y 10 Ingreso de la tercera nota mensaje
  • 39. 38 | JOptionPane.showInputDialog("VALOR INCORRECTO:"); } } while(nota3<1||nota3>11); pro= (nota1+nota2+nota3)/3; JOptionPane.showMessageDialog(null,"EL PROMEDIO ES:"+pro ); if(pro>=7) { JOptionPane.showMessageDialog(null, " ... APROBADO ..."); JOptionPane.showMessageDialog(null, "EL ESTUDIANTE: "+nom ); JOptionPane.showMessageDialog(null, "ESTA APROBADO CON: "+pro ); JOptionPane.showMessageDialog(null, "EN LA MATERIA DE: "+mat ); } else { if(pro>=5&&pro<7) { JOptionPane.showMessageDialog(null, "... SUSPENSO ..."); JOptionPane.showMessageDialog(null, "EL ESTUDIANTE: "+nom ); JOptionPane.showMessageDialog(null, "ESTA SUSPENSO CON: "+pro ); JOptionPane.showMessageDialog(null, "EN LA MATERIA DE: "+mat ); } else { JOptionPane.showMessageDialog(null, "... REPROBADO ..."); JOptionPane.showMessageDialog(null, "EL ESTUDIANTE: "+nom ); JOptionPane.showMessageDialog(null, "ESTA REPROBADO CON: "+pro ); JOptionPane.showMessageDialog(null, "EN LA MATERIA DE: "+mat ); } } dato4= JOptionPane.showInputDialog("CONTINUAR1 TERMINAR 0:"); op= Integer.parseInt(dato4); } while(op==1); } Validación de la nota entre 1 y 10 Procesos promedio de notas Impresión de datos de aprobado: Nombre Promedio Condición de la nota >7 Impresión de datos de suspenso: Nombre Promedio Impresión de datos de reprobado: Nombre Promedio Ciclo repetitivo n veces para el proceso.
  • 40. 39 | CORRIDO ENUNCIADO Diseñe un programa que me permita ingresar desde teclado un límite y un factor cualquiera y generar las tablas de multiplicar. ANÁLISIS En este programa podemos realizar las tablas de multiplicar; debemos declarar los variables de tipo enteras, luego ingresamos el límite y el factor, por ultimo visualizamos la respuesta. DOCUMENTACION public class Tabla { public static void main(String[] args) { String dato1,dato2,dato3,dato4; int limite,factor,i,mult,op=0,opci,a,b,c,factorial; do { JOptionPane.showMessageDialog(null, " << SERIE DE DATOS >> n" + "TABLA DE MULTIPLICAR"); Nombre del programa o proyecto Declaración de variables String, int Ingreso de Datos Inicio del ciclo do-while
  • 41. 40 | dato1=JOptionPane.showInputDialog("INGRESE EL LIMITE:"); limite=Integer.parseInt(dato1); dato2=JOptionPane.showInputDialog("INGRESE EL FACTOR:"); factor=Integer.parseInt(dato2); for(i=1;i<=limite;i++) { mult=i*factor; JOptionPane.showMessageDialog(null, " LA TABLA DE MULTIPLICAR ES: n" + factor + "*" + i + " = " + mult); } dato3=JOptionPane.showInputDialog(" PULSE 1 PARA CONTINUAR O 0 PARA SALIR "); op=Integer.parseInt(dato3); } while(op==1); } } CORRIDO Proceso de multiplicación e impresión de resultado Fin del ciclo do-while
  • 42. 41 | ENUNCIADO Diseñe un programa que me permita resolver un sistema de Ecuación de Segundo Grado (ax^2 + bx +c) ANÁLISIS En este programa podemos realizar la Ecuación de Segundo Grado donde debemos importar la librería principal que es import javax.swing.JOptionPane; para este programa debemos declarar los variables de tipo double, carácter y de tipo enteras, luego ingresamos los tres valores posteriormente realizamos el proceso para poder sacar la ecuación para esto debemos utilizar la formula Math.sqrt para poder sacar la raíz cuadrada y por ultimo preguntamos si el usuario desea realizar nuevamente otros procesos o si desea salir DOCUMENTACIÓN package ecuacion; import javax.swing.JOptionPane; public class Ecuacion { public static void main(String[] args) { String dato2; int op ; do { JOptionPane.showMessageDialog (null,"ECUACION DE SEGUNDO GRADO" ); double a = Double.parseDouble (JOptionPane.showInputDialog ("Ingrese el primer valor de a: ")); double b = Double.parseDouble (JOptionPane.showInputDialog ("Ingrese el segundo valor de b: ")); double c = Double.parseDouble Nombre del proyecto Librería Inicio del programaDeclaración de variables Proceso de repetición Impresión de un mensaje Ingresamos los tres valores
  • 43. 42 | (JOptionPane.showInputDialog ("Ingrese el tercer valor de c: ")); double interno=b*b-(4*a*c); if (interno==0){ double x1=-b/(2*a); JOptionPane.showMessageDialog (null, "Existe un valor doble: " + x1 ) ; } else if(interno>0) { interno = Math.sqrt(interno); x1=(-b+interno)/(2*a); x2=(-b-interno)/(2*a); JOptionPane.showMessageDialog (null, "valor de x1 y x2: " + x1 +" n"+x2 ); x1=-b/(2*a); double resultado= Math.sqrt((-interno/(2*a))); JOptionPane.showMessageDialog (null, "La raiz es imaginaria y vale: " + x1 +" +"+ resultado + "i"+x1+"-"+resultado +"i" ); dato2= JOptionPane.showInputDialog ("Ingrese 1 para continuar y 0 pasa salir"); op= Integer.parseInt(dato2); } while(op==1); } } } CORRIDO Realizamos el proceso para sacar la ecuación Este es el proceso para sacar la raíz cuadrada de la ecuación Visualizamos el resultado Proceso para que el usuario realice otro proceso o si desea salir
  • 44. 43 | ENUNCIADO Diseñe un programa que me permita calcular el valor total a pagar por consumo de energía eléctrica considerando los siguientes parámetros, se leen el valor anterior y el valor actual de consumo, en donde siempre el valor actual debe ser mayor al valor anterior. La diferencia entre los dos valores se devuelve el consumo actual. El costo por vatio es $0,49 Existen 3 impuestos que se deben facturar: 3% Correspondiente a Bomberos 4% Correspondiente a taza municipal 2% otros Visualice subtotales parciales u e total a pagar en una sola ventana ANALISIS Importación de bibliotecas principales que utilizaremos (import javax.swing.JOptionPane; e importjava.text.DecimalFormat;). Debemos declarar las variables String, double y formato para decimales. Inicialización de ciclo do while para que el programa se repita n veces. Ingreso del valor anterior e inicialización del ciclo do while. Ingreso del valor actual, fin ciclo do while y validación del valor anterior debe ser mayor que el valor actual.
  • 45. 44 | Obtención de los impuestos de bomberos, taza municipal y otros los mismos que su porcentaje será multiplicado y dividido para 100. Impresión en una sola pantalla del consumo actual, anterior, real , costo, valor del consumo e impuestos de bomberos, taza municipal, otros y finalmente el total a pagar y finalización del ciclo do while principal y preguntamos si el usuario desea realizar nuevamente otros procesos o si desea salir. DOCUMENTACION packageplanilla.de.luz; importjava.text.DecimalFormat; importjavax.swing.JOptionPane; public static void main (String[] args) { String dato1, dato2, dato4; double valor1, valor2, dif, cost,bomb,tasa,otros,tot,op ; DecimalFormat f = new DecimalFormat ("00.00"); DecimalFormat g = new DecimalFormat ("0.00"); do { JOptionPane.showMessageDialog (null," << PLANILLA DE LUZ >> "); dato1=JOptionPane.showInputDialog (" INGRESE EL VALOR ANTERIOR: "); valor1=Integer.parseInt (dato1); do { dato2=JOptionPane.showInputDialog ("<< INGRESE EL VALOR ACTUAL: "); valor2=Integer.parseInt (dato2); } While (valor1>valor2); Paquetes del programa Importación de librerías del programa Declaración de variables String y double Impresión de titulo Escaneo del primer valor Escaneo del segundo valor Inicio del ciclo do while Validación del valor 1 y valor 2 Instrucción formato para decimales Inicio ciclo do while principal
  • 46. 45 | Dif =valor2-valor1; Cost=dif*0.89; Bomb= (cost*3)/100; Tasa= (cost*4)/100; Otros = (cost*2)/100; Tot=cost+bomb+tasa+otros; JOptionPane.showMessageDialog (null," CONSUMO ANTERIOR: " +valor1+"n CONSUMO ACTUAL: " +valor2+ "n CONSUMO REAL: " + dif + "n COSTO: 0.89” + "n << VALOR CONSUMO: " + f.format (cost) +"n BOMBEROS (3%): " +g.format (bomb) +"n TASA MUN (4%): " +g.format (tasa)+"n OTROS (2%): " +g.format (otros)+"n << TOTAL A PAGAR: " +f.format (tot); dato4=JOptionPane.showInputDialog ("PULSE 1 PARA CONTINUAR O 0 PARA SALIR "); Op=Integer.parseInt (dato4); } While (op==1); } } Procesos para operaciones Impresión de resultados Escaneo de opción para repetición del proceso Fin ciclo do while validado a 1 Fin del programa
  • 48. 47 | ENUNCIADO Diseñe una aplicación que me permita calcular el valor de las comisiones ganadas de los vendedores de una empresa, según lo siguientes parámetros: la empresa dispone de 3 vendedores que realizan las ventas de sus vehículos. Las comisiones se las concede en función de los valores facturados: Si el valor >= 8000 <=11000 Recibe una comisión de 3% de la venta Si el valor >11000 <=25000 Recibe una comisión de 4,5% de la venta Si el valor >25000 <=45000 Recibe una comisión de 6 % de la venta Si el valor >40000 Recibe una comisión de 8,5% de la venta Se necesita conocer el valor acumulado por cada vendedor y el valor total generado por comisión ANÁLISIS Debemos importar las bibliotecas que vayamos a utilizar en el programa, en este caso deberemos importar la librería principal (import javax.swing.JOptionPane ;); Debemos declarar las variables string y las variables enteras que necesitemos. En la variable de escoger una opción imprimimos el menú que vamos a presentar para realizar los diferentes procesos. Convertimos la variable escoger (de string) a entero y asignamos el valor de correspondiente. Utilizamos un swtich para realizar cada proceso del menú. En cada case debemos ingresar los dos valores que usaremos para las operaciones y convertirlos a datos de tipo entero. Llamamos a la variable en que almacenaremos el resultado que será igual al nombre de la clase que usaremos y del bloque al que pertenece, ubicando entre paréntesis las variables de los datos ingresados. Imprimimos la variable resultante del proceso Utilizamos un do while para preguntar al usuario si desea volver a realizar el proceso con diferentes valores Repetimos el proceso en cada case
  • 49. 48 | con la variación de realizar las posteriores operaciones a la suma. En el último case utilizamos una instrucción que nos permitirá salir del programa mientras este corriendo, esto es: System.exit(0); Preguntamos si el usuario desea realizar nuevamente otros procesos o si desea salir. DOCUMENTACION package comision; import javax.swing.JOptionPane; public class Comision { public static void main(String[] args) { String ventj, ventmarc, ventmar, rept, opcion, opj; int vjuan, vmarc, vmar, op, menu, numj=0, nummarc=0, nummar=0; double comj=0, commarc=0, commar=0, comjuan=0, commarcelo=0, commaria=0, totventj=0, totventm=0, totventma=0, total=0; do { opcion=JOptionPane.showInputDialog("EMPRESA DON LUCHO" + "n n VENDEDORES" + "n n 1.- JUAN" + "n 2.- MARCELO" + "n 3.- MARÍA" + "n 4.- Salir" + "n n Con quien desea realizar su venta"); menu=Integer.parseInt(opcion); switch(menu) { case 1: do { ventj=JOptionPane.showInputDialog("EMPRESA DON LUCHO" + "n n VENDEDOR JUAN" + "n n Valor de la venta"); vjuan=Integer.parseInt(ventj); numj=numj+1; totventj=totventj+vjuan; if(vjuan>=8000 && vjuan<=11000) { comj=vjuan*0.03; comjuan=comjuan+comj; Paquetes del programa Declaración de variables String, int y double Impresión del Menú de Opciones Transformación de variables String a int Incio del Switch con Case1 Procesos para operaciones Decisión if y procesos
  • 50. 49 | c JOptionPane.showMessageDialog(null, "EMPRESA DON LUCHO" + "n n VENDEDOR JUAN" + "n n # VENTA: " + numj + "n n Venta=" + vjuan + "n Comisión= " + comj); } else { if(vjuan>11000 && vjuan<=25000) { comj=vjuan*0.45; comjuan=comjuan+comj; JOptionPane.showMessageDialog(null, "EMPRESA DON LUCHO" + "n n VENDEDOR JUAN" + "n n # VENTA: " + numj + "n n Venta=" + vjuan + "n Comisión= " + comj); } else { if(vjuan>25000 && vjuan<=45000) { comj=vjuan*0.06; comjuan=comjuan+comj; JOptionPane.showMessageDialog(null, "EMPRESA DON LUCHO" + "n n VENDEDOR JUAN" + "n n # VENTA: " + numj + "n n Venta=" + vjuan + "n Comisión= " + comj); } else { if(vjuan>45000) { comj=vjuan*0.85; comjuan=comjuan+comj; JOptionPane.showMessageDialog(null, "EMPRESA DON LUCHO" + "n n VENDEDOR JUAN" + "n n # VENTA: " + numj + "n n Venta=" + vjuan + "n Comisión= " + comj); } } } } opj=JOptionPane.showInputDialog ("Desea realizar una nueva venta con nuestro vendedor Juan (1 SI/0 NO)"); op=Integer.parseInt(opj); } while(op==1); Decisión if y procesos respectivos para obtener sus distintos resultados Decisión if y procesos respectivos para obtener sus distintos resultados Decisión if y procesos respectivos para obtener sus distintos resultados Cierre de sentencias if Proceso de repetición, mensaje y cierre del do while
  • 51. 50 | JOptionPane.showMessageDialog(null,"EMPRESA DON LUCHO" + "n n VENDEDOR JUAN" + "n n # VENTAS: " + numj + "n n Total de ventas=" + totventj + "n Comisiones ganadas= " + comjuan ); break; case 2: do { ventmarc=JOptionPane.showInputDialog("EMPRESA DON LUCHO" + "n n VENDEDOR MARCELO" + "n n Valor de la venta"); vmarc=Integer.parseInt(ventmarc); nummarc=nummarc+1; totventm=totventm+vmarc; if(vmarc>=8000 && vmarc<=11000) { commarc=vmarc*0.03; commarcelo=commarcelo+commarc; JOptionPane.showMessageDialog(null, "EMPRESA DON LUCHO" + "n n VENDEDOR MARCELO" + "n n # VENTA: " + nummarc + "n n Venta=" + vmarc + "n Comisión= " + commarc); } else { if(vmarc>11000 && vmarc<=25000) { commarc=vmarc*0.45; commarcelo=commarcelo+commarc; JOptionPane.showMessageDialog(null, "EMPRESA DON LUCHO" + "n n VENDEDOR MARCELO" + "n n # VENTA: " + nummarc + "n n Venta=" + vmarc + "n Comisión= " + commarc); } else { if(vmarc>25000 && vmarc<=45000) { commarc=vmarc*0.06; commarcelo=commarcelo+commarc; JOptionPane.showMessageDialog(null, "EMPRESA DON LUCHO" + "n n VENDEDOR MARCELO" + "n n # VENTA: " + nummarc + "n n Venta=" + vmarc + "n Comisión= " + commarc); } else { if(vmarc>45000) Case 2 y Do While Impresión del nombre y datos subtitulos Decisión if y procesos respectivos para obtener sus distintos resultados Impresión del nombre y datos subtitulos Decisión if y procesos respectivos para obtener sus distintos resultados Impresión del nombre y datos subtitulos Decisión if y procesos respectivos para obtener sus distintos resultados Impresión del nombre y datos subtitulos Decisión if y procesos respectivos para obtener sus distintos resultados
  • 52. 51 | { commarc=vmarc*0.85; commarcelo=commarcelo+commarc; JOptionPane.showMessageDialog(null, "EMPRESA DON LUCHO" + "n n VENDEDOR MARCELO" + "n n # VENTA: " + nummarc + "n n Venta=" + vmarc + "n Comisión= " + commarc); } } } } opj=JOptionPane.showInputDialog("Desea realizar una nueva venta con nuestro vendedor Marcelo (1 SI/0 NO)"); op=Integer.parseInt(opj); } while(op==1); JOptionPane.showMessageDialog(null,"EMPRESA DON LUCHO" + "n n VENDEDOR MARCELO" + "n n # VENTAS: " + nummarc + "n n Total de ventas=" + totventm + "n Comisiones ganadas= " + commarcelo); break; case 3: do { ventmar=JOptionPane.showInputDialog("EMPRESA DON LUCHO" + "n n VENDEDORA MARÍA" + "n n Valor de la venta"); vmar=Integer.parseInt(ventmar); nummar=nummar+1; totventma=totventma+vmar; if(vmar>=8000 && vmar<=11000) { commar=vmar*0.03; commaria=commaria+commar; JOptionPane.showMessageDialog(null, "EMPRESA DON LUCHO" + "n n VENDEDORA MARÍA" + "n n # VENTA: " + nummar + "n n Venta=" + vmar + "n Comisión= " + commar); } else { if(vmar>11000 && vmar<=25000) { commar=vmar*0.45; commaria=commaria+commar; Impresión del nombre y datos subtitulos Cierre de sentencias if Proceso de repetición, mensaje y cierre del do while Case 3 y Do While Impresión del nombre y datos subtitulos Impresión del nombre y datos subtitulos Decisión if y procesos respectivos para obtener sus distintos resultados Impresión del nombre y datos subtitulos Decisión if y procesos respectivos para obtener sus distintos resultados
  • 53. 52 | JOptionPane.showMessageDialog(null, "EMPRESA DON LUCHO" + "n n VENDEDOR MARÍA" + "n n # VENTA: " + nummar + "n n Venta=" + vmar + "n Comisión= " + commar); } else { if(vmar>25000 && vmar<=45000) { commar=vmar*0.06; commaria=commaria+commar; JOptionPane.showMessageDialog(null, "EMPRESA DON LUCHO" + "n n VENDEDOR MARÍA" + "n n # VENTA: " + nummar + "n n Venta=" + vmar + "n Comisión= " + commar); } else { if(vmar>45000) { commar=vmar*0.85; commaria=commaria+commar; CJOptionPane.showMessageDialog(null, "EMPRESA DON LUCHO" + "n n VENDEDOR MARÍA" + "n n # VENTA: " + nummar + "n n Venta=" + vmar + "n Comisión= " + commar); } } } } opj=JOptionPane.showInputDialog("Desea realizar una nueva venta con nuestro vendedor María (1 SI/0 NO)"); op=Integer.parseInt(opj); } while(op==1); JOptionPane.showMessageDialog(null,"EMPRESA DON LUCHO" + "n n VENDEDOR MARÍA" + "n n # VENTAS: " + nummar + "n n Total de ventas=" + totventma + "n Comisiones ganadas= " + commaria); break; case 4: System.exit(0); break; } rept=JOptionPane.showInputDialog("Desea realizar una Impresión del nombre y datos subtitulos Impresión del nombre y datos subtitulos Decisión if y procesos respectivos para obtener sus distintos resultados Decisión if y procesos respectivos para obtener sus distintos resultados Impresión del nombre y datos subtitulos Cierre de sentencias if Proceso de repetición, mensaje y cierre del do while Impresión del nombre y datos subtitulos Case 4 Opción Salir
  • 54. 53 | nueva compra (1 SI/0 NO)"); op=Integer.parseInt(rept); } while(op==1); total=totventj+totventm+totventma; JOptionPane.showMessageDialog(null,"EMPRESA DON LUCHO" + "n n VENDEDOR JUAN" + "n n # VENTAS: " + numj + "n n Total de ventas=" + totventj + "n Comisiones ganadas= " + comjuan + "n n VENDEDOR MARCELO" + "n n # VENTAS: " + nummarc + "n n Total de ventas=" + totventm + "n Comisiones ganadas= " + commarcelo + "n n VENDEDOR MARÍA" + "n n # VENTAS: " + nummar + "n n Total de ventas=" + totventma + "n Comisiones ganadas= " + commaria+ "n n TODAL DE LAS VENTAS= " + total ); }} Repetir el Programa n veces Suma total de las comisiones de vendedores Impresión de subtítulos, para cada vendedor y en forma general, total, comisiones ganadas y respuestas finales Cierre del programa con sus respectivas llaves
  • 56. 55 |
  • 57. 56 |
  • 58. 57 |
  • 59. 58 | ENUNCIADO Diseñe un programa que me permita calcular el valor por concepto de matrículas de una institución educativa bajo los siguientes parámetros Las matriculas se cobran de forma diferenciada de acuerdo al tipo de institución que puede ser: Publica costo de la matricula: $120,00 Particular costo de la matricula: $190,00 Fisco misional costo de la matricula: $140,00 Todos los estudiantes independientemente del tipo de institución cancelan los siguientes aranceles por beneficios extras que le concede la institución, estos son: 3% de la Matricula corresponde al Servicio Medico 8% de la Matricula corresponde al Servicio de Internet 6% de la Matricula corresponde al Servicio de Deportes El sistema debe visualizar y reflejar el # de estudiantes matriculados por día, el valor total acumulado por tipo de institución y por tipo de arancel, además que debe visualizar el Boucher individual de cada estudiante. ANALISIS Iniciamos el programa para ello debemos importar las bibliotecas que vayamos a utilizar en el programa, en este caso deberemos importar la librería principal (import javax.swing.JOptionPane; ) y la librería de la clase que usaremos (import pkg13.operacionesmenu.operaciones;). Debemos declarar las variables string y las variables enteras que necesitemos. En la variable de escoger una opción imprimimos el menú que vamos a presentar para realizar los diferentes procesos.
  • 60. 59 | Covertimos la variable escoger (de string) a entero y asignamos el valor de correspondiente. Utilizamos un swtich para realizar cada proceso del menú. En cada case debemos realizamos los procesos e imprimimos resultados. Cerramos el programa con un while para que se repite las veces que desee el usuario DOCUMENTACIÓN package matriculas; import javax.swing.JOptionPane; import java.text.DecimalFormat; public class Matriculas { public static void main(String[] args) { String nombre,tipo,ret,repet; int t,op1, op; double p=120,pr=190,f1=140,con1=0,con2=0,con3=0, sm1,sd1,si1,t1,sm2,sd2,si2,t2,sm3,sd3,si3,t3,sm11=0, sd11=0,si11=0,sm22=0,sd22=0,si22=0,sm33=0,sd33=0, si33=0,pt=0,prt=0, ft=0,cont, mt, smt, sit,sdt,st,tt; DecimalFormat f=new DecimalFormat(".00"); do { JOptionPane.showMessageDialog(null," SISTEMA DE MATRICULAS" ); tipo=JOptionPane.showInputDialog("Escoja el tipo de Institucion" +"n 1.- Publica"+"n 2.- Pribada"+"n 3.- Fiscomisinal"+"n 4.-Salir"); t=Integer.parseInt(tipo); switch(t) { case 1: pt=pt+p; con1=con1+1; nombre=JOptionPane.showInputDialog("Ingrese el nombre del estudiante:"); sm1=(p*3)/100; sm11=sm11+sm1; sd1=(p*8)/100; sd11=sd11+sd1; Importación de librerías del programa Paquetes del programa Inicio del programa Declaración de variables String, int y double Impresión del Menú de Opciones Transformación de variables String a int Incio del Switch con Case1 (primera opción) Do-while proceso de repetición Ingreso de Datos Procesos
  • 61. 60 | si1=(p*6)/100; si11=si11+si1; t1=sm1+sd1+si1+p; JOptionPane.showMessageDialog(null," Nombre: " + nombre + "n Institucion: Publica"+ "n Costo de matricula: $ " + p +"n Servicio Médico: $ "+f.format(sm1)+"n Servicio Internt: $ " +f.format(si1)+"n Servicio Deportes"+f.format(si1)+"n Total: $" +f.format(t1) ); break; case 2: prt=prt+pr; con2=con2+1; nombre=JOptionPane.showInputDialog("Ingrese el nobre del estudiante:"); sm2=(pr*3)/100; sm22=sm22+sm2; sd2=(pr*8)/100; sd22=sd22+sd2; si2=(pr*6)/100; si22=si22+si2; t2=sm2+sd2+si2+pr; JOptionPane.showMessageDialog(null," Nombre: "+ nombre + "n Institucion: Pribada"+ "n Costo de matricula: $ " + pr +"n Servicio Médico: $ "+f.format(sm2)+"n Servicio Internt: $ " +f.format(si2)+"n Servicio Deportes"+f.format(si2)+"n Total: $" +f.format(t2 )); break; case 3: ft=ft+f1; con3=con3+1; nombre=JOptionPane.showInputDialog("Ingrese el nombre del estudiante:"); sm3=(f1*3)/100; sm33=sm33+sm3; sd3=(f1*8)/100; sd33=sd33+sd3; si3=(f1*6)/100; si33=si33+si3; t3=sm3+sd3+si3+f1; Impresión de resultados Break cierre de la primera opción (case 1) Inicio Case2 (segunda opción) Contadores Ingreso de Datos Procesos Impresión de resultados Break cierre de la primera opción (case 2) Inicio Case3 (tercera opción) Contadores Ingreso de Datos Procesos
  • 62. 61 | JOptionPane.showMessageDialog(null," Nombre: "+ nombre + "n Institucion: Pribada"+ "n Costo de matricula: $ " + f1 +"n Servicio Médico: $ "+f.format(sm3)+"Servicio Internt: $ "+f.format(si3)+"Servicio Deportes"+f.format(si3)+"Total: $" +f.format(t3 )); break; case 4: System.exit(0); break; } repet=JOptionPane.showInputDialog("Desea ingresar otra matricula 1 / 0"); op1=Integer.parseInt(repet); }while(op1==1); cont=con1+con2+con3; mt=pt+prt+ft; smt=sm11+sm22+sm33; sdt=sd11+sd22+sd33; sit=si11+si22+si33; st=smt+sdt+sit; tt=mt+st; JOptionPane.showMessageDialog(null,"REPORTE GENERAL" + "n Publica Pribada Fiscomisional Total" + " /n N° de matriculados "+ con1 + " " + con2 +" " + con3 + " " + cont+ "n Valor de matriculas $ "+ pt+ " $ " +prt+" $ "+ft +" $"+mt+"nServicios Medicos $ " +f.format(sm11) + " $"+f.format(sm22)+" $"+f.format(sm33)+" $"+f.format(smt)+"n Servicios Internet $"+f.format(si11) + " $" +f.format(si22)+" $"+f.format(si33)+" $"+f.format(sit)+"n Servicios Internet $"+f.format(sd11) + " $"+f.format(sd22) +" $"+f.format(sd33)+" $"+f.format(sdt)+"n TOTOL: $ " +f.format(tt)); } } Impresión de resultados Break cierre de la primera opción (case 2) Case4 (Opción Salir) Cierre del switch Fin del proceso de repeticion Procesos Finales Impresión final Fin del Programa
  • 64. 63 | ENUNCIADO Diseñe un programa que me permita simular el funcionamiento de un sistema de rol de pagos bajo los siguientes parámetros: el nominal se ingresa conforme a la categoría si es administrativo gana Usd. 540, si es ejecutivo gana Usd 1’200,00 si es obrero gana Usd 340,00 Obtenga el valor ingresado Horas Extras tomando en puede tener un máximo de número de horas extras 8 y cada hora cuesta Usd 3,50 Obtenga el valor de cargas familiares la misma que esta condicionada. Si el empleado tiene más de dos hijos se le paga Usd. 4,5 por cada hijo caso contrario se le reconoce Usd 6,2 por cada hijo Obtenga el valor del IESS que es el 11,5 % del nominal Se le descuenta a todos los empleados por concepto de comisariato el 2,5% del nominal Obtenga el total de ingreso, egresos y líquido a recibir ANÁLISIS En este programa hemos utilizado Do-While ya la estructura Switch para realizar un menú de opciones en cada case va el miso proceso, en la declaración de variables utilizamos un doublé para cantidades con decimales, para la impresión hemos utilizando la JOptionPane.showMessageDialog y al final cada case un break. DOCUMENTACION package prueba; import java.text.DecimalFormat; import javax.swing.JOptionPane; public class Prueba { public static void main(String[] args) { String opc1,opc,nom,ce; double ad=540,ej=1200,ob=340,he,ph,h,pi,ie,co,te,ti,st,sp,op1; int a,op; Nombre del programa o proyecto librerías Declaración de variables Inicio del programa Inicio del do-while
  • 65. 64 | do{ DecimalFormat df=new DecimalFormat(".00"); opc=JOptionPane.showInputDialog(" LIQUIDO TOTAL DE EMPLEADOSn"+"1.- Administrativon" +"2.-Ejeutivon"+"3.-Obreron"+"5.-Salir"); op=Integer.parseInt(opc); switch(op) { case 1: nom=JOptionPane.showInputDialog("Nombre: "); do{ he=Double.parseDouble(JOptionPane.showInputDialog("Horas extras: ")); }while(he>8); ph=he*3.50; h=Double.parseDouble(JOptionPane.showInputDialog("Hijos: ")); if(h>2) { pi=h*4.50; } else { pi=h*6.20; } ti=ph+pi; ie=ad*0.115; co=ad*0.025; te=ie+co; sp=ad+ph+pi; st=sp-ie-co; JOptionPane.showMessageDialog(null," REPORTE GENERALn"+nom+"nAdministrativo"+"nSueldo " +ad+"nnIngresos "+ti+"nHoras extras " +ph+"nCargas familiares "+pi+"nnEgresos "+te+"nIESS "+ie+ "nComisiariato "+co+"nSueldo a recibir "+st); break; case 2: nom=JOptionPane.showInputDialog("Nombre: "); do{ he=Double.parseDouble(JOptionPane.showInputDialog("Horas extras: ")); }while(he>8); ph=he*3.50; h=Double.parseDouble(JOptionPane.showInputDialog("Hijos: ")); if(h>2) { pi=h*4.50; } else { pi=h*6.20; } ti=ph+pi; ie=ej*0.115; Diseño del menú Ingreso de la opción Inicio del switch Ingreso del nombre Ingreso de las horas extras Ingreso del número de hijos Proceso Proceso Impresión de resultados Cierre del case Ingreso del nombre Ingreso de las horas extras Ingreso del número de hijos Proceso
  • 66. 65 | co=ej*0.025; te=ie+co; sp=ej+ph+pi; st=sp-ie-co; JOptionPane.showMessageDialog(null," REPORTE GENERALn"+nom+"nEjecutivo"+"nSueldo " +ej+"nnIngresos "+ti+"nHoras extras " +ph+"nCargas familiares "+pi+"nnEgresos "+te+"nIESS "+ie+ "nComisiariato "+co+"nSueldo a recibir "+st); break; case 3: nom=JOptionPane.showInputDialog("Nombre: "); do{ he=Double.parseDouble(JOptionPane.showInputDialog("Horas extras: ")); }while(he>8); ph=he*3.50; h=Double.parseDouble(JOptionPane.showInputDialog("Hijos: ")); if(h>2) { pi=h*4.50; } else { pi=h*6.20; } ti=ph+pi; ie=ob*0.115; co=ob*0.025; te=ie+co; sp=ob+ph+pi; st=sp-ie-co; JOptionPane.showMessageDialog(null," REPORTE GENERALn"+nom+"nObrero"+"nSueldo " +ob+"nnIngresos "+ti+"nHoras extras " +ph+"nCargas familiares "+pi+"nnEgresos "+te+"nIESS "+ie+ "nComisiariato "+co+"nSueldo a recibir "+st); break; case 4: System.exit(0); break; } opc1=JOptionPane.showInputDialog("Salir 1/0: "); op1=Integer.parseInt(opc1); }while(op1==1); } } Impresión de resultados Cierre del case 2 Ingreso del nombre Ingreso de las horas extras Ingreso del número de hijos Proceso Impresión de resultados Proceso Cierre del case 3 Proceso par salir Cierre del case 4 Cierre del while Ingreso para la opción do-while
  • 67. 66 | CORRIDO ENUNCIADO Diseñe un programa que me permita realizar las operaciones básicas a través de un menú de opciones. ANÁLISIS En este programa utilizamos un switch para realizar un menú de opciones y en cada case hacemos procesos diferentes que nos permiten hacer el cálculo de las seis operaciones básicas en el programa principal solo ingresamos los datos e imprimimos y llamamos al proceso que está en las funciones y lo llamamos desde el programa principal. Debemos importar las bibliotecas q vayamos a utilizar en nuestro programa en este caso (import javax.swing.JOptionPane;)
  • 68. 67 | DOCUMENTACION package seisop; import javax.swing.JOptionPane; import seisop.funcionesop; public class Seisop { public static void main(String[] args) { String dato1,dato2,op,opa; int a,b,op1,sum1,res1,mult1,opb; double div1,pot1,rad1; do{ op=JOptionPane.showInputDialog("ESCOJA UNA OPCION n1.-SUMAn2.-RESTAn3.-MULTIPLICACIONn"+ "4.-DIVISIONn5. -POTENCIACION n6.-RADICACIONn7.-SALIR"); op1=Integer.parseInt(op); switch(op1) { case 1: dato1=JOptionPane.showInputDialog("Dato 1 :"); a=Integer.parseInt(dato1); dato2=JOptionPane.showInputDialog("Dato 2 :"); b=Integer.parseInt(dato2); sum1=funcionesop.suma1(a, b); JOptionPane.showMessageDialog(null,"La suma es: "+sum1); break; case 2: do { dato1=JOptionPane.showInputDialog("Dato 1 :"); a=Integer.parseInt(dato1); dato2=JOptionPane.showInputDialog("Dato 2 :"); b=Integer.parseInt(dato2); }while(a<b); res1=funcionesop.resta(a, b); JOptionPane.showMessageDialog(null,"La resta es:"+res1); break; case 3: dato1=JOptionPane.showInputDialog("Dato 1 :"); a=Integer.parseInt(dato1); dato2=JOptionPane.showInputDialog("Dato 2 :"); b=Integer.parseInt(dato2); mult1=funcionesop.multiplicacion(a, b); JOptionPane.showMessageDialog(null,"La multiplicacion es:"+mult1); break; case 4: do { dato1=JOptionPane.showInputDialog("Dato 1 :"); Importación de librerías del programa y paquete Paquetes del programa Declaración de variables Menú de Opciones Ingreso de datos Llamamos a la clase Impresión del mensaje Do-while para el control en la resta Ingreso de datos Llamamos a la clase Impresión del mensaje Ingreso de datos Llamamos a la clase Impresión del mensaje Control para el proceso de la división Ingreso de datos
  • 69. 68 | a=Integer.parseInt(dato1); dato2=JOptionPane.showInputDialog("Dato 2 :"); b=Integer.parseInt(dato2); }while(a<b); div1=funcionesop.division(a, b); JOptionPane.showMessageDialog(null,"La division es:"+div1); break; case 5: dato1=JOptionPane.showInputDialog("Base :"); a=Integer.parseInt(dato1); dato2=JOptionPane.showInputDialog("Exponente :"); b=Integer.parseInt(dato2); pot1=funcionesop.potencia(a, b); JOptionPane.showMessageDialog(null,"La potencia es:"+pot1); break; case 6: dato1=JOptionPane.showInputDialog("Numero :"); a=Integer.parseInt(dato1); rad1=funcionesop.radicacion(a); JOptionPane.showMessageDialog(null,"La raiz es:"+rad1); break; } opa=JOptionPane.showInputDialog("INGRESE 1 CONTINUAR Y 0 PARA SALIR:"); opb=Integer.parseInt(opa); }while(opb==1); } } package seisop; public class funcionesop { public static int suma1(int a1, int b1) { int sumar; sumar=(a1+b1); return sumar; } public static int resta(int a1, int b1) { int restar; restar=(a1-b1); return restar; } public static int multiplicacion(int a1, int b1) { int multiplicar; multiplicar=(a1*b1); return multiplicar; } public static double division(double a1, double b1) { double dividir; dividir=(a1/b1); Llamamos a la clase Impresión del mensaje Ingreso de datos Llamamos a la clase Impresión del mensaje Ingreso de datos Llamamos a la clase Impresión del mensaje Mensaje de do-while para enviar un mensaje si desea repetir Nombre del programa principal Proceso de suma Proceso de resta Proceso de multiplicación Proceso de división
  • 70. 69 | return dividir; } public static double potencia(double a1, double b1) { double poten; poten=Math.pow(a1,b1); return poten; } public static double radicacion(double a1) { double radical; radical=Math.sqrt(a1); return radical; } } CORRIDO Proceso de potencia Proceso de radicación
  • 71. 70 | ENUNCIADO Diseñe un menú de opciones que me permita realzar las 6 operaciones básicas con datos enteros ingresados desde teclado, utilizando clases. ANALISIS Debemos importar las bibliotecas que vayamos a utilizar en el programa, en este caso deberemos importar la librería principal (import javax.swing.JOptionPane; ) y la librería de la clase que usaremos (import pkg13.operacionesmenu.operaciones;). Debemos declarar las variables string y las variables enteras que necesitemos. En la variable de escoger una opción imprimimos el menú que vamos a presentar para realizar los diferentes procesos. Covertimos la variable escoger (de string) a entero y asignamos el valor de correspondiente. Utilizamos un swtich para realizar cada proceso del menú. En cada case debemos ingresar los dos valores que usaremos para las operaciones (a excepción de la radicación) y convertirlos a datos de tipo entero. Llamamos a la variable en que almacenaremos el resultado que será igual al nombre de la clase que usaremos y del bloque al que pertenece, ubicando entre parentesis las variables de los datos ingresados. Imprimimos la variable resultante del proceso Utilizamos un do while para preguntar al usuario si desea volver a realizar el proceso con diferentes valores Repetimos el proceso en cada case con la variación de realizar las posteriores operaciones a la suma. En el ultimo case utilzamos una instrucción que nos permitirá salir del programa miestras este corriendo, esto es: System.exit(0);
  • 72. 71 | Preguntamos si el usuario desea realizar nuevamente otros procesos o si desea salir DOCUMENTACIÓN package pkg13.operacionesmenu; import javax.swing.JOptionPane; import pkg13.operacionesmenu.operaciones; public class Operacionesmenu { public static void main(String[] args) { String dato1,dato2,escoger,opcion; int num1,num2,suma,resta,multiplicacion,es,op; double division, potenciacion, radicacion; { escoger=JOptionPane.showInputDialog(null, " OPERACIONES BASICAS nn 1. Suma n 2. Resta n 3. Multiplicación n 4. División n 5. Potenciación n 6. Radicación n 7. Salir nn Escoja una opcion:"); es=Integer.parseInt(escoger); switch(es) { case 1: do{ dato1=JOptionPane.showInputDialog ("Ingrese el primer valor: "); num1=Integer.parseInt(dato1); dato2=JOptionPane.showInputDialog ("Ingrese el segundo valor: "); num2=Integer.parseInt(dato2); suma=operaciones.sumar(num1, num2); JOptionPane.showMessageDialog (null, "La Suma es: "+ suma); opcion=JOptionPane.showInputDialog ("Desea realizar otra suma: 1=si / 0=no"); op=Integer.parseInt(opcion); }while(op==1); break; case 2 do{ do{ Importación de librerías del programa Paquetes del programa Declaración de variables String, int y double Impresión del Menú de Opciones Transformación de variables String a int Incio del Switch con Case1 Ingreso de Datos Llamado de clase o función DO WHILE y break Case 2 y Do While
  • 73. 72 | dato1=JOptionPane.showInputDialog ("Ingrese el primer valor: "); num1=Integer.parseInt(dato1); dato2=JOptionPane.showInputDialog ("Ingrese el segundo valor: "); num2=Integer.parseInt(dato2); }while(num1<num2); resta=operaciones.restar(num1, num2); JOptionPane.showMessageDialog (null, "La Resta es: "+ resta); opcion=JOptionPane.showInputDialog ("Desea realizar otra resta: 1=si / 0=no"); op=Integer.parseInt(opcion); }while(op==1); break; case 3: do{ dato1=JOptionPane.showInputDialog ("Ingrese el primer valor: "); num1=Integer.parseInt(dato1); dato2=JOptionPane.showInputDialog ("Ingrese el segundo valor: "); num2=Integer.parseInt(dato2); multiplicacion=operaciones.multi(num1, num2); JOptionPane.showMessageDialog (null, "La Multiplicación es: "+ multiplicacion); opcion=JOptionPane.showInputDialog ("Desea realizar otra multiplicacion: 1=si / 0=no"); op=Integer.parseInt(opcion); }while(op==1); break; case 4: do{ do{ dato1=JOptionPane.showInputDialog ("Ingrese el primer valor: "); num1=Integer.parseInt(dato1); dato2=JOptionPane.showInputDialog ("Ingrese el segundo valor: "); num2=Integer.parseInt(dato2); }while(num1<num2); division=operaciones.dividir(num1, num2); JOptionPane.showMessageDialog Ingreso de Datos Llamado de clase o función DO WHILE y break Case 3 y Do While Ingreso de Datos Llamado de clase o función DO WHILE y break Case 4 y Do While Ingreso de Datos Llamado de clase o función Validación de datos Validación de datos
  • 74. 73 | (null, "La División es: "+ division); opcion=JOptionPane.showInputDialog ("Desea realizar otra division 1=si / 0=no"); op=Integer.parseInt(opcion); }while(op==1); break; case 5: do{ dato1=JOptionPane.showInputDialog ("Ingrese la base: "); num1=Integer.parseInt(dato1); dato2=JOptionPane.showInputDialog ("Ingrese el exponente: "); num2=Integer.parseInt(dato2); potenciacion=operaciones.potencia(num1, num2); JOptionPane.showMessageDialog (null, "La Potenciación es: "+ potenciacion); opcion=JOptionPane.showInputDialog ("Desea realizar otra potenciacion 1=si / 0=no"); op=Integer.parseInt(opcion); }while(op==1); break; case 6: do{ dato1=JOptionPane.showInputDialog("Ingrese el valor: "); num1=Integer.parseInt(dato1); radicacion=operaciones.raiz(num1); JOptionPane.showMessageDialog (null, "La Radicacion es: "+ radicacion); opcion=JOptionPane.showInputDialog ("Desea realizar otra radicación 1=si / 0=no"); op=Integer.parseInt(opcion); }while(op==1); break; case 7: System.exit(0); break; } opcion=JOptionPane.showInputDialog ("Desea volver al menu: 1=si / 0=no"); op=Integer.parseInt(opcion); DO WHILE y break Case 5 y Do While Ingreso de Datos Llamado de clase o función DO WHILE y break Case 6 y Do While Ingreso de Datos Llamado de clase o función DO WHILE y break Case 7 Opción Salir Fin del Switch Repetir el Programa n veces
  • 75. 74 | }while(op==1); } } operacionesmenu; public class operaciones { public static int sumar(int a, int b) { int sumar; sumar=(a+b); return sumar; } public static int restar(int a, int b) { int restar; restar=(a+b); return restar; } public static int multi(int a, int b) { int multi; multi=(a+b); return multi; } public static double dividir(double a, double b) { double dividir; dividir=(a/b); return dividir; } public static double potencia(double a, double b) { double potencia; potencia=Math.pow(a, b); return potencia; } public static double raiz(double a) Fin del Programa Nombre del Programa principal Inicio de Clase o Función Proceso de suma Proceso de resta Proceso de multiplicación Proceso de división Proceso de potenciación
  • 76. 75 | { double raiz; raiz=Math.sqrt(a); return raiz; } } ENUNCIADO Diseñe un menú de opciones utilizando clases de un conjunto de series de datos: primos, factorial, Fibonacci, pares, y la opción salir. ANALISIS Para realizar este proyecto primero debemos importar las bibliotecas que vayamos a utilizar, Declarar datos del tipo que necesitemos y empezar el programa con títulos y un menú de opciones que nos permita escoger la serie que deseemos realizar, seguido de una clase para realizar cada serie, también con la opción de repetir el proceso las veces que desee el usuario presentando al fin los resultados respectivos que queremos. DOCUMENTACIÓN package menuseries; import javax.swing.JOptionPane; import menuseries.series; public class Menuseries { public static void main(String[] args) { String dato1, dato2,dato3; int op,limite,pares,num,i,p,primos,factor,fibo,opc; JOptionPane.showMessageDialog(null, "MENU DE SERIES "); do {dato1=JOptionPane.showInputDialog("1. PRIMOS n 2. FACTORIAL n 3. FIBONACCI n 4. PARES n 5. SALIR n Ingrese una opcion: "); op=Integer.parseInt(dato1); switch(op) { case 1: dato2=JOptionPane.showInputDialog("Ingrese un limite"); limite=Integer.parseInt(dato2); primos=series.primos(limite); Proceso de radicación Importación de librerías del programa Declaración de variables String, int y double Impresión del Menú de Opciones Inicio del Switch con Case1 Ingreso del límite y Llamado de clase o función Inicio del Switch con Case 2
  • 77. 76 | break; case 2: dato2=JOptionPane.showInputDialog("Ingrese un limite"); limite=Integer.parseInt(dato2); factor=series.facto(limite); break; case 3: dato2=JOptionPane.showInputDialog("Ingrese un limite"); limite=Integer.parseInt(dato2); fibo=series.fibo(limite); break; case 4: dato2=JOptionPane.showInputDialog("Ingrese un limite"); limite=Integer.parseInt(dato2); pares=series.par(limite); break; case 5: System.exit(0); break; } dato3=JOptionPane.showInputDialog("Volver al menu 1 Salir 0: "); opc=Integer.parseInt(dato3); } while(opc==1); } } package menuseries; import javax.swing.JOptionPane; public class series { public static int par (int limite) { int p; int i; p=0; for(i=1;i<=limite;i++) { p=p+2; JOptionPane.showMessageDialog(null, +p); } return 0; } public static int primos (int limite) { int conta,residuo,i,j; for(i=1;i<=limite;i++) { conta=0; for(j=1;j<=i;j++) Ingreso del límite y Llamado de clase o función Inicio del Switch con Case 3 Ingreso del límite y Llamado de clase o función Inicio del Switch con Case 4 Ingreso del límite y Llamado de clase o función Fin del Switch con Case 5 Repetir el Programa n veces Fin del Programa Nombre del Programa principal Serie de numeros pares Serie de numeros primos
  • 78. 77 | { residuo=i%j; if(residuo==0) { conta=conta+1; } } if(conta==2) { JOptionPane.showMessageDialog(null, +i); } } return 0; } public static int facto(int limite) { int f,i; f=1; i=1; i=i+1; for(i=1;i<=limite;i++) { f=f*i; JOptionPane.showMessageDialog(null, +i+f); } return 0; } public static int fibo(int limite) { int m,i,j,c,a = 0,b=1; m=1; for(j=1;j<=limite-1;j++) { m=m+3; } for(i=0;i<=limite-2;i++) { c=a+b; a=b; b=c; JOptionPane.showMessageDialog(null, +a); } return 0; } } Serie de numeros primos Serie de la factorial Serie del Fibonacci
  • 79. 78 | CORRIDO ENUNCIADO Diseñe un programa utilizando clases que me permita verificar si un numero entero ingresado desde teclado le corresponde a la siguiente categoría: 1 – 3 Bebé 3 – 11 Niño 12 – 17 Adolescente 18 – 45 Adulto 46 en adelante – Adulto Mayor ANALISIS Este programa permite verificar la edad a que categoría corresponde. 1. Importación de bibliotecas principales que utilizaremos (import javax.swing.JOptionPane; e importjava.text.DecimalFormat;). Debemos declarar las variables String, double y formato para decimales. Inicialización de ciclo do while para que el programa se repita n veces, llamamos a las clases. En las clases hacemos el proceso correspondiente mediante un if, else e impresiones de pantalla.
  • 80. 79 | CODIFICACION package edades; import javax.swing.JOptionPane; public class Edades { public static void main(String[] args) { String opcion,dato; int edad1,op,edades; do { opcion=JOptionPane.showInputDialog(null,"***VERIFICACION DE EDAD***n1 a 3 años BEBEn3 a 11 años NIÑOn12 a 17 años ADOLESCENTEn18 a 45 años ADULTOn45 en adelante ADULTO MAYORn**INGRESE UNA EDAD** "); edad1=Integer.parseInt(opcion); edades=edad.edades(edad1); dato=JOptionPane.showInputDialog(null,"DESEA REPETIR 1 O 0 PARA SALIR: "); op=Integer.parseInt(dato); }while(op==1); } } package edades; import javax.swing.JOptionPane; public class edad { public static int edades(int edad1) { if(edad1>=1 && edad1<=3) { JOptionPane.showMessageDialog(null, "BEBE: "+edad1); } else { if(edad1>=4 && edad1<=11) { JOptionPane.showMessageDialog(null, "NIÑO: "+edad1); } else { if(edad1>=12 && edad1<=17) { JOptionPane.showMessageDialog(null, "ADOLESCENTE: "+edad1); } else Importación de librerías del programa Paquetes del programa Declaración de variables String y double Inicio ciclo do while principal LLAMA A LAS FUNCIONES SE CIERRA EL LAZO REPETITIVO Importación de librerías del programa PROCESO
  • 81. 80 | { if(edad1>=18 && edad1<=45) { JOptionPane.showMessageDialog(null, "ADULTO: "+edad1); } else { if(edad1>45) { JOptionPane.showMessageDialog(null, "ADULTO MAYOR: "+edad1); } } } } } return 0; } } CORRIDO ENUNCIADO Diseñe un programa utilizando clases que me permita ingresar un número entero desde teclado y me permita descomponerlo en todos sus elementos posibles. (Unidad, decena, centena, unidad de mil, etc.) SE CIERRA LA CLASE
  • 82. 81 | ANÁLISIS Necesitaremos una variable tipo int para generar la descomposición en sus unidades Documentación package decompocicion; import javax.swing.JOptionPane; import decompocicion.descomponer; public class Decompocicion { public static void main(String[] args) { String num; int a,res; do{ num=JOptionPane.showInputDialog("NUMERO"); a=Integer.parseInt(num); }while(a<1 || a>9999); res=descomponer.descomponer(a); } } Clase package decompocicion; import javax.swing.JOptionPane; public class descomponer { public static int descomponer(int a) { int um,c,d,u; um=a; um=(um/1000)*1000; c=a; c=c-um; c=(c/100)*100; d=a; d=d-um-c; d= (d/10)*10; u=(a-um)-c-d; JOptionPane.showMessageDialog(null,"Unidad "+u+"nDecena "+d+"nCentena "+c +"nUnidad de mil "+um+"nTotal "+a); return 0; } } Importación de librerías del programa Paquetes del programa Declaración de variables tipo int y string Fin del programa principal Programa principal importación de librerías e inicio de clases Clase descomposición con su respectivo proceso para realizar una descomposición en sus unidades
  • 83. 82 | CORRIDO ENUNCIADO Diseñe un menú de opciones utilizando clases que me permita diseñar un sistema de conversiones de numeros de diferentes bases. Se necesita convertir un numero entero a su binario correspondiente, un entero a octal y un entero a hexadecimal. ANALISIS Para realizar este proyecto primero debemos importar las bibliotecas que vayamos a utilizar, Declarar datos del tipo que necesitemos y empezar el programa con títulos y un menú de opciones que nos permita escoger la conversión que deseemos realizar, seguido de una clase para realizar cada conversion, también con la opción de repetir el proceso las veces que desee el usuario presentando al fin los resultados respectivos que queremos. DOCUMENTACIÓN package conversiones; import javax.swing.JOptionPane; public class Conversiones { public static void main(String[] args) { String dato1, dato2, dato; int a,bi,oc,hexa,op,opc; JOptionPane.showMessageDialog(null, "CONVERSIONES "); do { Importación de librerías del programa Declaración de variables String, int y double Impresión del Menú de Opciones
  • 84. 83 | dato=JOptionPane.showInputDialog("1. BINARIO n 2. OCTAL n 3. HEXADECIMAL n 4. SALIR n Ingrese una Opcion: "); opc=Integer.parseInt(dato); switch(opc) { case 1: dato1=JOptionPane.showInputDialog("Ingrese un numero: "); a=Integer.parseInt(dato1); bi=convers.bi(a); break; case 2: dato1=JOptionPane.showInputDialog("Ingrese un numero: "); a=Integer.parseInt(dato1); oc=convers.oct(a); break; case 3: dato1=JOptionPane.showInputDialog("Ingrese un numero: "); a=Integer.parseInt(dato1); hexa=convers.he(a); break; case 4: System.exit(0); break; } dato2= JOptionPane.showInputDialog("VOLVER AL MENU 1 SALIR 0: "); op=Integer.parseInt(dato2); } while(op==1); } } package conversiones; import javax.swing.JOptionPane; public class convers { public static int bi (int a) { JOptionPane.showMessageDialog(null, "Numero Binario: "+Integer.toBinaryString(a)); return 0; } public static int oct (int a) { JOptionPane.showMessageDialog(null, "Numero Octal: "+Integer.toOctalString(a)); return 0; } public static int he(int a) { JOptionPane.showMessageDialog(null, "Numero Hexadecimal: "+Integer.toHexString(a)); return 0; } Inicio del Switch con Case1 Ingreso el número que deseo transformar a binario y llamamos a la clase Ingreso el número que deseo transformar a octal y llamamos a la clase Fin del Programa Nombre del Programa principal Transformación de un número decimal a binario Inicio del Switch con Case 3 Fin del Switch con Case 4 Repetir el Programa n veces Ingreso el número que deseo transformar a hexadecimal y llamamos a la clase Transformación de un número decimal a octal Transformación de un número decimal a hexadecimal