Está en la página 1de 24

INSTANCIANDO CLASES

Hasta ahora nos hemos dedicado a diseñar e implementar clases que son solución a
problemas, pero nos embargan unas preguntas:
Bueno y como se usan esas clases?
Si funcionan?
Como las pruebo?
Bien para poder utilizar una clase debemos:

Primero definir una instancia de la clase, lo cual es crear una o varias referencias a la clase
a través de nombres o identificadores que definimos, como lo hacemos cuando definimos
los atributos:

sintaxis:
int sueldo;

Para definir una instancia seguimos la misma regla:

sintaxis:
testudiante alumno;

Donde testudiante es la clase y alumno es la instancia de la clase.

Segundo crear la instancia alumno de la siguiente manera:

sintaxis:
alumno= new testudiante();

Donde new es una palabra reservada de java que permite crear el espacio de memoria para
la instancia.

Hay que tener en cuenta que en java cuando se crea la instancia automáticamente se llama
el constructor y ejecuta las instrucciones que se definieron en él, lo cual indica que si lo
definimos en la clase con parámetros debemos pasarle los valores en el mismo momento de
crear dicha instancia.

Tercero hacer el llamado de los métodos así:

sintaxis:
alumno.AsisgnarNota1(10);
alumno.AsisgnarNota2(50);
alumno.AsisgnarNota3(17);

Cuando los métodos devuelven valores debemos guardar los valores que devuelven en
variables previamente definidas:
sintaxis:
float promedio;
promedio = alumno.calculapromedio();

El orden de llamado de los métodos depende exclusivamente de cómo se requiere resolver


el problema, pero tenga en cuenta de llamar los métodos que guardan valores antes de
llamar métodos que efectúen operaciones con dichos valores.

Ejemplo :

A continuación instanciamos la clase trabajador y activaremos sus métodos, y haremos


análisis de lo que sucede.

trabajador empleado;
float total;
empleado= new trabajador();
empleado.asignarhoras(36);
empleado.asignavalor(3546);
total=empleado.Neto();

Análisis

1. Definimos la instancia empleado de tipo de clase trabajador.


2. Creamos la instancia con new, nótese que el constructor no ejecuta instrucción alguna
ni tampoco recibe valores como parámetros.
3. Enviamos el valor 36 al atributo numerohoras a través del método asignarhoras.
4. Enviamos el valor 3546 al atributo valor a través del método asignavalor.
5. A la variable total le asignamos el resultado de las operaciones que realiza el método
neto.
Operaciones del método neto:
 llama al método basico, el cual obtiene el valor de los atributos por intermedio
de sus métodos.
 Llama el método descuentoiss y se lo resta a basico.
 Llama a descuentoretencion y también se lo resta al valor devuelto por el
básico.
 Llama al método subsidio y se lo suma al básico.

Después de analizar cómo se usan las clases a través de su instancia al lector le pueden
embargar otras preguntas como:

Donde escribo el código que define y crea las instancias?

Por qué se dan valores directamente o es que no se pueden ser definidos por el usuario?

Para responder la primera pregunta lo que se debe realizar es crear una clase en java que
implemente el siguiente método:
public static void main(String args[])

Escribiendo dentro de él código correspondiente a la definición de la instancia y al llamado


de los métodos respectivos.

Ejemplo de uso de la clase trabajador

import java.io.*;

class Principal
{

public static void main(String args[])


{
trabajador empleado = new trabajador();
empleado.asignarhoras(36);
empleado.asignavalor(3546);
System.out.println(empleado.Neto());
}
}

Nota: observe que encabezado incluye la instrucción import java.io.*;


Esto es para poder utilizar las clases de entrada y salida. Además la instrucción
System.out.println se usa para mostrar por pantalla el resultado de cualquier operación o
para mostrar mensajes al usuario.

Ahora planteamos un problema y desarrollamos su solución donde se involucren todos los


elementos hasta ahora tratados y responda el interrogante de la segunda pregunta de
interfaz con el usuario.

Problema

Diseñar una clase que permita manejar la información de llamadas en un Sai teniendo como
base la duración de la llamada y el valor del minuto.

Solución

class Llamada {

private
int valMin,tiempo;

Llamada(){
valMin = 0;
tiempo = 0;
}
public void LlevaMinuto(int val)
{
valMin = val;
}
public void LlevaTiempo(int ti)
{
tiempo = ti;
}

int TraeMinuto()
{
return valMin;
}

int TraeTiempo()
{
return tiempo;
}

int ValorLlamada()
{
int Calcula;
Calcula = TraeMinuto()*TraeTiempo();
return Calcula;
}

}
Clase que instancia

import java.io.*;

class Principal{

public static void main(String args[]){


Llamada Llamar = new Llamada();
int vmin = 0;
int tiem = 0;

BufferedReader Tecla = new BufferedReader(new


InputStreamReader(System.in));

try {
System.out.print("Digite el valor del minuto :");
vmin =Integer.parseInt(Tecla.readLine());
Llamar.LlevaMinuto(Vmin);

System.out.print("Digite el tiempo :");


tiem =Integer.parseInt(Tecla.readLine());
Llamar.LlevaTiempo(Tiem);
} catch (IOException varerror) {System.out.println("Error");}

System.out.println(" "); //mostrar el valor de la llamada


System.out.println(" El valor de la llamada "+Llamar.ValorLlamada());
System.out.println(" ");
}
}
Análisis

La instrucción
try {

}catch

Permite capturar algún error ocurrido al escribir los datos y evitamos que se bloquee el
programa cuando estemos cargando datos desde el teclado.

BufferedReader Tecla = new BufferedReader(new InputStreamReader(System.in));

En esta instrucción se crea una instancia de la clase bufferedReader que java tiene
implementada llamada tecla la cual es capaz de leer caracteres desde el teclado.

Tecla.readLine() Se hace un llamado al método readline que permite leer una línea de
caracteres por pantalla y guardarla en los atributos donde se asigne.

Integer.parseInt Convierte la cadena leída en datos enteros y este valor convertido debe
asignarse a uno dato de tipo integer.

Todo esto se debe realizar dado que en java lo que se captura son cadenas de caracteres y
debemos hacer las conversiones a sus valores numéricos correspondientes.
Sentencias de Iteración o Repetitivas

Hay ocasiones que se requiere que una sentencia compuesta se ejecute varias veces,
posiblemente cambiando los valores de las expresiones contenidas en ésta. Por ejemplo,
supongamos que deseamos crear una tabla del capital acumulado de una cantidad
invertida a una tasa de interés anual y recapitalizado mensualmente. En este ejemplo,
para cada mes es necesario determinar el capital acumulado e imprimir el resultado. Este
proceso se repetirá tantas veces como el número de meses que deseemos tabular. Las
sentencias que nos permiten realizar tal tarea se conocen como sentencias de iteración
o repetitivas. En Java existen tres tipos de sentencias repetitivas: La sentencia while, la
sentencia for y la sentencia do - while.

Sentencia while

La sentencia while nos permite ejecutar una sentencia compuesta, mientras se cumpla
una condición. La sintaxis para esta sentencia es la siguiente:

while(expresión){
sentencia1;
sentencia2;
.
.
Sentencia n;
}
Expresión debe ser de tipo booleano. Sentencia es una sentencia compuesta.

La sentencia while opera de la siguiente manera:

 Primero se evalúa expresión. Si su valor es verdadero, se ejecuta sentencia


y expresión es evaluada de nuevo, repitiéndose el ciclo hasta que expresión
resulta falsa. Cuando esto último ocurre el ciclo termina y el programa continúa
con la siguiente instrucción después del ciclo.

 Si expresión es falsa al principio del ciclo, sentencia no se ejecuta ni una vez.

Ejemplo sobre la sentencia while

Se desea una clase llamada Capital para estudiar el comportamiento del capital
acumulado de una inversión, a una tasa de interés anual, con recapitalización mensual.
Se requiere un método que tabule el capital acumulado mensualmente. La salida del
programa será una tabla de la forma:

Mes Capital
---------------
1 dddd.dd
2 dddd.dd
...
public class capital
{
// instance variables - replace the example below with your own
private double capital;
double tasa;
int meses;

/**
* Constructor for objects of class EjWhile
*/
public capital()
{
capital = 0;
tasa = 0;
meses = 0;
}

public void setDatos(double cap, double t, int m){


capital = cap;
tasa= t;
meses = m;
}

public double getCap(){


return capital;
}

public double getT(){


return tasa;
}

public int getM(){


return meses;
}

public double tablaC() {


int mes = 1;
double interes = 0;
double capital1 = getCap();

System.out.println("Mes Capital");
interes = (1 + getT() / 12);
while(mes <= meses){
capital1 *= (interes);
System.out.println(mes + ": "
+String.format("%.2f",capital1));
mes++;
}
System.out.println(" El pago total del prestamo de:
" +getCap() );
System.out.println(" a una tasa del"
+String.format("%.2f",interes) +"%");
System.out.println(" es : "
+String.format("%.2f",capital1));
return (capital1);
}
}
Sentencia for

La sentencia for es una sentencia de repetición cuya sintaxis tiene una forma más
compacta utilizando la sentencia while. La sintaxis de la sentencia for es la siguiente:

for([expresión1]; [expresión2]; [expresión3]){


sentencia 1;
sentencia 2
.
.
Sentencia n;
}

Aquí la expresión expresión2 es una expresión booleana y expresión1 y expresión3


son, cada una, una expresión simple o varias expresiones simples separadas por comas.

La sentencia for opera de la siguiente manera:

1. Se evalúa expresión1. Si expresión1 está formada de varias expresiones


simples, éstas se evalúan en secuencia.

2. Se evalúa expresión2. Si el resultado es verdadero entonces se ejecuta la


sentencia compuesta, sentencia y luego se evalúa expresión3. Si
expresión3 está formada de varias expresiones simples, éstas se evalúan en
secuencia.

3. Repite el paso 2 hasta que el resultado de la comparación es falso, en cuyo caso el


programa brinca a la siguiente sentencia después de la sentencia for.

Si inicialmente el valor de expresión2 es falso, sentencia no se ejecuta ni una sola vez y el


ciclo termina.

En la sentencia for, cualesquiera de las tres expresiones se pueden omitir. En particular si


omitimos expresión2 se considera que es verdadera y tendremos un ciclo infinito. A
continuación se muestran algunas construcciones usando la sentencia for:

 for(i = 0; i < N; i++) {


... /* Uso más común */
}

 for(i = 0, j = 1; i < N; i++, j += 3) {


... /* Doble inicialización y doble incremento */
}

 for( ; ; ) {
... /* Un ciclo infinito */
}
Ejemplo sobre la sentencia for

El siguiente código muestra la clase Capital del ejemplo sobre la proposición while
modificado para que utilice en su lugar una proposición for.

public class CapFor


{
// instance variables - replace the example below with your own
private double capital;
double tasa;
int meses;
/**
* Constructor for objects of class EjWhile
*/

public CapFor()
{
capital = 0;
tasa = 0;
meses = 0;
}

public void setDatos(double cap, double t, int m){


capital = cap;
tasa= t;
meses = m;
}

public double getCap(){


return capital;
}

public double getT(){


return tasa;
}

public int getM(){


return meses;
}

public double tablaC() {


double interes = 0;
double capital1 = getCap();

System.out.println("Mes Capital");
interes = (1 + getT() / 12);
for(int mes = 1; mes <= getM(); mes++){
capital1 *= (interes);
System.out.println(mes + ": "
+String.format("%.2f",capital1));
}
System.out.println(" El pago total del prestamo de: " +getCap()
);
System.out.println(" a una tasa del "
+String.format("%.2f",interes) +"%" + " mensual");
System.out.println(" es : " +String.format("%.2f",capital1));
return (capital1);
}
}

Sentencia do - while

La sentencia do - while es otra variante de la sentencia while cuya sintaxis es la


siguiente:

do {
sentencia 1;
sentencia 2;
.
.
Sentencia n;
} while(expresión)

La expresióndebe ser de tipo booleano. sentenciaes una sentencia compuesta.

La sentencia do - while opera de la siguiente manera: Primero se ejecuta sentenciay


luego se evalúa expresión, si su valor es verdadero, se ejecuta sentencia y expresiónes
evaluada de nuevo, repitiéndose el ciclo hasta que expresiónresulta falsa. Cuando esto
último ocurre el ciclo termina y el programa continúa con la siguiente instrucción después
del ciclo.

La diferencia básica entre las sentencias do - while y while es que la sentencia


compuesta en el ciclo do - while se ejecuta por lo menos una vez, ya que la prueba sobre
expresión se realiza hasta que la sentencia compuesta se ha ejecutado; mientras que la
sentencia compuesta en la sentencia while no se ejecutará si expresión es falsa desde el
principio.

Ejemplo sobre la sentencia do - while

El siguiente código muestra la clase Capital del ejemplo sobre la proposición while
modificado para que utilice en su lugar una do-while.
public class Cap_do_while {

private double capital;


double tasa;
int meses;

public Cap_do_while()
{
capital = 0;
tasa = 0;
meses = 0;
}

public void setDatos(double cap, double t, int m){


capital = cap;
tasa= t;
meses = m;
}

public double getCap(){


return capital;
}

public double getT(){


return tasa;
}

public int getM(){


return meses;
}

public double tablaC() {


int mes = 1;
double interes = 0;
double capital1 = getCap();

System.out.println("Mes Capital");
interes = (1 + getT() / 12);

do {
capital1 *= (interes);
System.out.println(mes + ": "
+String.format("%.2f",capital1));
mes++;
} while(mes <= meses) ;

System.out.println(" El pago total del prestamo de: " +getCap() );


System.out.println(" a una tasa del "
+String.format("%.2f",interes) +"%");
System.out.println(" es : " +String.format("%.2f",capital1));
return (capital1);
}

}
EJERCICIOS PROGRAMACION RESUELTOS

Ejercicio 1 – Primera forma -BufferedReader y InputStreamReader -

/*
* Diseñar una que permita un valor “n” positivo ingresado por el usuario. Luego
calcule la suma * de los “n” primeros números naturales, los pares, los impares y los
* cuadrados. Finalmente * * * mostrar resultados en pantalla.
*/

package javaapplication4;
import java.io.BufferedReader; //clase que nos permite el ingreso de datos por teclado
import java.io.IOException;
import java.io.InputStreamReader;

public class JavaApplication4 {


private
int n; // Sección privada donde declaro el atributo n

public JavaApplication4() // Método Constructor de objectos de clase JavaApplication4


{
n = 0; // inicializa instancia atributo
}

//Método procedimiento (No retorna valor) para asignar valor al atributo a través parámetro por referencia

public void setN (int y)


{
n = y;
}

//Método función (retorna un valor) para obtener valor del atributo

public int getN()


{
return n;
}

//Función que nos muestra los números naturales hasta el valor digitado y
//la función nos retorna la sumatoria de ellos.

public int nNaturales()


{
int i = 1; //variable local, funciona como contador y controla el ciclo while
int suma=0; //variable local, se guardará la sumatoria de los números

while(i<=getN()) //Condición del ciclo while, verdadero se ejecutan instrucciones en { }


{
System.out.println (i); // muestra valor variable i (contador)
suma=suma+i; // realiza la operación variable suma e iy lo asigna a suma
i=i+1; // incrementa la variable i en 1
}
System.out.println("La Suma de los N N/les es: "); //muestra mensaje entre “ “
return (suma); // valor que retorna la function nNaturales()
}

//Función que nos muestra los números naturales pares desde 1 hasta el valor digitado y //la función nos
retorna la sumatoria de ellos.

public int nPares()


{
int i=1;
int sumap=0;
while (i<=getN())
{
if ((i%2)==0)
{
System.out.println(i);
sumap=sumap+i;
}
i=i+1;
}
System.out.println("La Sumatoria de los N Pares es: ");
return sumap;
}

//Función que nos muestra los números naturales impares desde 1 hasta el valor digitado y
//la función nos retorna la sumatoria de ellos.

public int nImpares()


{
int i=1;
int sumai=0;
while (i<=getN())
{
if ((i%2)!=0)
{
System.out.println(i);
sumai=sumai+i;
}
i=i+1;
}
System.out.println("La Sumatoria de los N Impares es: ");
return sumai;
}
//Función que nos muestra los correspondientes cuadrados de los números naturales desde 1 //hasta el valor
digitado y la función retorna la sumatoria de ellos.

public int nCuadrados()


{
int i=1;
int c;
int sumac=0;
while(i<=getN())
{
c=i*i;
System.out.println( c );
sumac=sumac+c;
i=i+1;
}
System.out.println("La Sumatoria de los N Cuadrados es: ");
return sumac;
}

//Instancia del programa principal


public static void main(String[] args) throws IOException {

int m; //declara variable de tipo local

JavaApplication4 Obj; // declaro un Obj del tipo de dato de la clase JavaApplication4


Obj = new JavaApplication4(); // Obj se inicializa con el constructor JavaApplication4()

// Clase BufferedReader y InputStreamReader para leer datos por teclado


BufferedReader br = new BufferedReader (new InputStreamReader(System.in));
System.out.println("DIGITAR N"); // Se pide un dato al usuario, y se guarda como String
m=Integer.parseInt(br.readLine()); // Se transforma la entrada anterior en un entero
Obj.setN(m); // el Objeto Obj hace un llamado al método SetN() que lleva lo guardado en m

System.out.println("Los Números naturales son: "); // muestra el mensaje


System.out.println(Obj.nNaturales()); // Obj llama al método nNaturales()
br.readLine(); //Objeto Teclas que captura cualquier tecla para continuar

System.out.println("Los Números Pares son: ");


System.out.println(Obj.nPares());
br.readLine();

System.out.println("Los Números Impares son: ");


System.out.println(Obj.nImpares());
br.readLine();
System.out.println("Los Números naturales al Cuadrado son: ");
System.out.println(Obj.nCuadrados());

}
}

NOTA: BufferedReader para lectura de datos en Java

Como pudimos ver en el código anterior, ha sido bastante sencillo obtener la entrada del usuario
y almacenar ese valor en una variable. El único "problema" es que BufferedReader únicamente
posee el método readLine() para leer la entrada y este siempre retorna String, de modo que para
obtener un número debemos leer primero como String y luego enviarle dicho String al
método parseInt() de la clase Integer. Hay que ser muy cuidadosos con Integer.parseInt() pues
si el usuario no ingreso un número sino letras, se disparará una excepción que debemos controlar.
Ejercicio 1 – Segunda forma Scanner –
/*
* Diseñar una que permita un valor “n” positivo ingresado por el usuario. Luego
calcule la suma * de los “n” primeros números naturales, los pares, los impares y los
* cuadrados. Finalmente * * * mostrar resultados en pantalla.
*/
package javaapplication4;
import java.util.Scanner;

public class Nnaturales {


private
int n;

public Nnaturales()
{
n = 0;
}

public void setN(int y)


{
n = y;
}

public int getN()


{
return n;
}

public int nNaturales()


{
int i = 1;
int suma=0;
while(i<=getN())
{
System.out.println(i);
suma=suma+i;
i=i+1;
}
System.out.println("La Sumatoria de los N Naturales es: ");
return (suma);
}

public int nPares()


{
int i=1; int sumap=0;
while(i<=getN()) {
if ((i%2)==0) {
System.out.println(i);
sumap=sumap+i;
}
i=i+1;
}
System.out.println("La Sumatoria de los N Pares es: ");
return sumap;
}
public int nImpares()
{
int i=1; int sumai=0;
while(i<=getN())
{
if ((i%2)!=0)
{
System.out.println(i);
sumai=sumai+i;
}
i=i+1;
}
System.out.println("La Sumatoria de los N Impares es: ");
return sumai;
}

public int nCuadrados()


{
int i=1; int c; int sumac=0;
while(i<=getN()) { c=i*i;
System.out.println(i*i);
sumac=sumac+c;
i=i+1;
}
System.out.println("La Sumatoria de los N Cuadrados es: ");
return sumac;
}
}
//Instancia del programa principal
public static void main(String[] args) {

Nnaturales Obj = new Nnaturales();


Scanner leer = new Scanner(System.in);

System.out.println("Programa para calcular una serie de N


naturales");

System.out.println("Digitar Numero");
Obj.setN (Integer.parseInt(leer.nextLine()));

System.out.println("Los Números naturales son: ");


System.out.println(Obj.nNaturales());
leer.nextLine();

System.out.println("Los Números Pares son: ");


System.out.println(Obj.nPares());
leer.nextLine();

System.out.println("Los Números Impares son: ");


System.out.println(Obj.nImpares());
leer.nextLine();
System.out.println("Los Números naturales al Cuadrado son: ");
System.out.println(Obj.nCuadrados());
}
NOTA: Scanner para lectura de datos en Java
La clase Scanner está disponible a partir de Java 5 y facilita la lectura de datos en los programas
Java.
Para utilizar Scanner en el programa tendremos que hacer lo siguiente:
1. Escribir el import
La clase Scanner se encuentra en el paquete java.util por lo tanto se debe incluir al inicio del
programa la instrucción:
import java.util.Scanner;
2. Crear un objeto Scanner
Tenemos que crear un objeto de la clase Scanner asociado al dispositivo de entrada.
Si el dispositivo de entrada es el teclado escribiremos:
Scanner sc = new Scanner(System.in);
Se ha creado el objeto sc asociado al teclado representado por System.in
Una vez hecho esto podemos leer datos por teclado.
Ejemplos de lectura:
Para leer podemos usar el método nextXxx() donde Xxx indica en tipo, por ejemplo nextInt() para
leer un entero, nextDouble() para leer un double, etc.

Ejemplo de lectura por teclado de un número entero:


int n;
System.out.print("Introduzca un número entero: ");
n = sc.nextInt();

Ejemplo de lectura de un número de tipo double:


double x;
System.out.print("Introduzca número de tipo double: ");
x = sc.nextDouble();

Ejemplo de lectura de una cadena de caracteres:


String s;
System.out.print("Introduzca texto: ");
s = sc.nextLine();

Ejemplo de programa Java con lectura de datos con Scanner:


El programa pide que se introduzca el nombre de la persona y lo muestra por pantalla. A
continuación lee por teclado el radio de una circunferencia de tipo double y muestra su longitud.
Además lee un entero y muestra su cuadrado.
Ejercicio 1 – Tercera forma JOptionPane –

/*
* Diseñar una que permita un valor “n” positivo ingresado por el usuario. Luego
calcule la suma * de los “n” primeros números naturales, los pares, los impares y los
* cuadrados. Finalmente * * * mostrar resultados en pantalla.
*/

package javaapplication4;

import static java.lang.Integer.parseInt;


import javax.swing.JOptionPane;

public class NnVentana {

private
int n;

public NnVentana()
{
n = 0;
}

public void setN(int y)


{
n = y;
}

public int getN()


{
return n;
}

public int nNaturales()


{
int i = 1;
int suma=0;
while (i<=getN()) {
System.out.println(i);
suma=suma+i;
i=i+1;
}
return (suma);
}
public int nPares()
{
int i=1;
int sumap=0;
while(i<=getN())
{
if ((i%2)==0)
{
System.out.println(i);
sumap=sumap+i;
}
i=i+1;
}
return sumap;
}

public int nImpares()


{
int i=1;
int sumai=0;
while(i<=getN())
{
if ((i%2)!=0)
{
System.out.println(i);
sumai=sumai+i;
}
i=i+1;
}
return sumai;
}

public int nCuadrados()


{
int i=1; int c; int sumac=0;
while(i<=getN()) { c=i*i;
System.out.println( c );
sumac=sumac+c;
i=i+1;
} return sumac;
}
}
//Instancia del programa principal

public static void main(String[] args) {

int m;
Nnaturales Obj = new Nnaturales();

JOptionPane.showMessageDialog(null, "Serie de N naturales");

m=Integer.parseInt(JOptionPane.showInputDialog(null,"Digitar un Número "));


Obj.setN(m);

JOptionPane.showMessageDialog(null, "la ∑ de 1 a " +Obj.getN() +" es : "


+Obj.nNaturales());

JOptionPane.showMessageDialog(null, "la ∑ de los pares de 1 a " +Obj.getN() +" es : "


+Obj.nPares());

JOptionPane.showMessageDialog(null, "la ∑ de los impares de 1 a " +Obj.getN() +" es : "


+Obj.nImpares());

JOptionPane.showMessageDialog(null, "la ∑ de los Nros al cuadrado de 1 a " +Obj.getN()


+" es : " +Obj.nCuadrados());

}
/**
* Write a description of class Mostrar_num here.
* LEER UN NUMERO ENTERO Y MOSTRAR TODOS LOS NUMEROS
* ENTEROS COMPRENDIDOS ENTRE 1 Y EL NUMERO LEIDO
* @author (your name)
*/
import javax.swing.*;
import java.io.*;

public class Mostrar_num


{ // instance variables - replace the example below with your own
private int num;
/**

public Mostrar_num()
{
// initialise instance variables
num = 0;
}

void Asig_num(int n)
{
num=n;
}

int Obt_num()
{
return num;
}

int Muestra_num()
{
int i, max;
max=Obt_num();

if (max>0)
{
for(i=1;i<=max;i++)
System.out.print(i +" ");
}
return (0);
}

public static void main (String args [])


{
int A;

Mostrar_num Mario;
Mario=new Mostrar_num();

A=Integer.parseInt(JOptionPane.showInputDialog(null, " Digitar Numero "));


Mario.Asig_num(A);

System.out.println("Los Numeros son :");


Mario.Muestra_num();
}
}
EJERCICIO ADICIONAL MENU
CLASE QUE REALIZA OPERACIONES BASICAS DE DOS NUMEROS

package ejercicio1;

/**
* @author My PC
*/
public class Operaciones {
private int num1;
private int num2;

public void setnum1(int dato){


num1=dato;
}

public void setnum2(int dato){


num2=dato;
}

public int getnum1(){


return num1;
}

public int getnum2(){


return num2;
}

public int suma(){


int res=getnum1()+getnum2();
return res;
}

public int resta(){


int res=getnum1()-getnum2();
return res;
}

public int muiltiplicacion(){


int res=getnum1()*getnum2();
return res;
}
}
INSTANCIA EN CLASE APARTE;
package ejercicio1;

import java.io.IOException;
import java.util.Scanner;

public class Ejercicio1 {

public static void main(String[] args) throws IOException {

Operaciones obj = new Operaciones();


Scanner leer = new Scanner(System.in);
int opc=0;

while(opc != 5){
System.out.println("Elija Opcion:\n 1- Sumar\n 2- Restar\n 3- Multiplicar\n 4- Salir\n");
opc=Integer.parseInt(leer.nextLine());
switch(opc) {
case 1:
pedirdatos();
obj.suma();
break;
case 2:
pedirdatos();
obj.resta();
break;
case 3:
pedirdatos();
obj.muiltiplicacion();
break;
}
}

static void pedirdatos(){


Scanner leer = new Scanner(System.in);
Operaciones obj = new Operaciones();

System.out.println("Digite el primer numero");


obj.setnum1(Integer.parseInt(leer.nextLine()));

System.out.println("Digite el Segundo Numero");


obj.setnum2(Integer.parseInt(leer.nextLine()));

System.out.print("Resultado: "+ obj.suma() + "\n");


}

También podría gustarte