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.
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í:
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:
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í:
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.
Con herencia
De acuerdo al código de Valkyr también puedes utilizar "extends".
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);
}
}
}
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.
Muchas gracias...
;-) ;-) ;-)
A ver si me va a gustar ahora programar en java??...Os lo agradezco infinitamente...
Un saludo