elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
28 Mayo 2012, 01:56  


Tema destacado: Últimos eventos sobre seguridad/inseguridad

+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java (Moderadores: Debci, Leyer)
| | | |-+  Duda Java: Usando una única clase que actúe como Interfaz de usuario
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Duda Java: Usando una única clase que actúe como Interfaz de usuario  (Leído 567 veces)
llvvrr

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Duda Java: Usando una única clase que actúe como Interfaz de usuario
« en: 29 Septiembre 2011, 19:13 »

Hola a tod@s:
Mi pregunta supongo que os resultará muy estúpida, pero soy nueva en el arte de programar y aún no tengo las cosas claras.
Simplemente querría saber si alguien me puede echar una mano con la siguiente cuestión:

Necesito escribir dos clases:
Una que será la única que podrá leer por teclado y escribir en pantalla.(PRINCIPAL.class)
Otra que realizará las operaciones.
(OPERACIONES.class)
Llegados a este punto, mi pregunta es la siguiente:


¿Cómo narices uso los métodos con parámetros de la clase operaciones en Interfaz chic@s???
:-\:-\:-\

Si alguien me puede ayudar escribiendome un peque código de las dos clases, pidiendo algo de información en Interfaz que pueda ver por consola y operando en operaciones.class se lo agradecería infinitamente...
Con un método me bastaría para entenderlo (aunque eso es mucho esperar de mi misma)...
Hasta ahora he aprendido a pedir datos y leerlos en la misma clase...pero por ejemplo no sé pedir un número por teclado en Interfaz que haya pasado como parametro en operaciones...

P.D:espero haberme explicado
Muchas gracias de antemano.
Un saludín.


En línea
Valkyr


Desconectado Desconectado

Mensajes: 632


Divide y vencerás


Ver Perfil
Re: Duda Java: Usando una única clase que actúe como Interfaz de usuario
« Respuesta #1 en: 29 Septiembre 2011, 19:42 »

No se si te refieres exactamente a lo que estoy pensando ya que la verdad no me he aclarado mucho con tu explicación.

Sí lo que quieres hacer es leer datos de teclado en una clase (Principal.class) y pasarselo a otra para que esta realice operaciones (Operacioes.class) entonces podrías hacer algo así:

Código
public class Principal {
 
   public static void main(String[] args){
       BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
       //Con esta instruccion anterior declaras un bufer de lectura con el que podras ir leyendo de teclado linea a linea
       Operaciones operador = new Operaciones();
       String linea;
       while( (linea=br.readLine()) != null){
           int op1 = Integer.parseInt(linea);
           linea = br.readLine();
           int op2 = Integer.parseInt(linea);
           linea = br.readLine();
           if("+".equals(linea))
               System.out.println(El resultado de sumar " + op1 + " a " + op2 + " es: " + operador.sumar(op1, op2));
           else if("
-".equals(linea))
               System.out.println("
El resultado de restar " + op1 + " a " + op2 + " es: " + operador.restar(op1, op2));
           else
               System.out.println("
Operacion desconocida");
       }
   }
 
}

Este sencillo programa reconocería una entrada de este tipo:

Código:
3
4
+
18
2876
+
1242
4
-

realizando las operaciones indicadas, ya tú misma puedes cambiar en que orden lees las cosas y como las tratas. También puedes hacer uso de la clase Scanner, pero la verdad nunca la he usado y prefiero moverme a mi antojo leyendo las cosas y parseandolas a mi gusto.

La clase Operaciones sería algo así:

Código
public class Operaciones{
 
   public int sumar(int operando1, int operando2){
       return operando1+operando2;
   }
 
   public int restar(int operando1, int operando2){
       return operando1-operando2;
   }
 
   //Demas procedimientos...
}

Espero que te sirva.

Saludos.


En línea

Darhius


Desconectado Desconectado

Mensajes: 427


Divide y vencerás.


Ver Perfil
Re: Duda Java: Usando una única clase que actúe como Interfaz de usuario
« Respuesta #2 en: 30 Septiembre 2011, 06:44 »

Con herencia

De acuerdo al código de Valkyr también puedes utilizar "extends".

Código
import java.io.BufferedReader;
import java.io.InputStreamReader;
 
public class Principal extends Operaciones{
 
   public static void main(String[] args){
    try{
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
       String linea;
       while( (linea=br.readLine()) != null){
           int op1 = Integer.parseInt(linea);
           linea = br.readLine();
           int op2 = Integer.parseInt(linea);
           linea = br.readLine();
           if("+".equals(linea))
               System.out.println("El resultado de sumar " + op1 + " a " + op2 + " es: " + sumar(op1, op2));
           else if("-".equals(linea))
               System.out.println("El resultado de restar " + op1 + " a " + op2 + " es: " + restar(op1, op2));
           else
               System.out.println("Operacion desconocida");
       }
    }catch(Exception e){
    System.out.println(e);
    }
 
   }
}
 


Código
public class Operaciones{
 
   public static int sumar(int operando1, int operando2){
       return operando1+operando2;
   }
 
   public static int restar(int operando1, int operando2){
       return operando1-operando2;
   }
 
   //Demas procedimientos...
}
 


No es necesaria una interfaz.
En línea

"Cuenta mi historia... a quienes pregunten, cuéntala con verdad, las cosas malas junto con las buenas  y permite que sea juzgado apegado ellas... el resto... es silencio." Dinobot (Beast Wars Transformers)
llvvrr

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: Duda Java: Usando una única clase que actúe como Interfaz de usuario
« Respuesta #3 en: 30 Septiembre 2011, 19:11 »

Muchas gracias...
 ;-) ;-) ;-)

A ver si me va a gustar ahora programar en java??...Os lo agradezco infinitamente...
Un saludo
En línea
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines