Foros del Web » Programación para mayores de 30 ;) » Java »

Relación entre archivos .java

Estas en el tema de Relación entre archivos .java en el foro de Java en Foros del Web. Hola amigos, esta es una nueva duda, tengo 4 archivos .java, inicio.java, decimal.java, binario.java y hexadecimal.java, y mi pregunta es como los relaciono para que ...
  #1 (permalink)  
Antiguo 16/06/2006, 07:33
 
Fecha de Ingreso: septiembre-2004
Mensajes: 21
Antigüedad: 19 años, 7 meses
Puntos: 0
Relación entre archivos .java

Hola amigos, esta es una nueva duda, tengo 4 archivos .java, inicio.java, decimal.java, binario.java y hexadecimal.java, y mi pregunta es como los relaciono para que en inicio.java pueda crear objetos de las otras diferentes clases

//Inicio.java

import java.io.*;

public class inicio{

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

BufferedReader teclado;
int opcion;
opcion=-1;
teclado = new BufferedReader(new InputStreamReader(System.in));

while(opcion!=1&&opcion!=2&&opcion!=3){

System.out.println("\t+---------------------------------+");
System.out.println("\t| Elija Tipo de operacion |");
System.out.println("\t+---------------------------------+");
System.out.println("\t| Operacion con decimales [1] |");
System.out.println("\t| Operacion con binarios [2] |");
System.out.println("\t| Operacion con Hexadecimales [3] |");
System.out.println("\t+---------------------------------+");
System.out.print("\t Su opcion es:");
opcion=Integer.parseInt(teclado.readLine());
}

if (opcion==1){
// aca crear un objeto de la clase decimal
}else if (opcion==2){
// aca crear un objeto de la clase binarios
}else{
// aca crear un objeto de la clase hexadecimal
}

}
}

//decimal.java


import java.io.*;

public class decimal{

public muestra_decimal(){

//Creación del flujo para leer datos
InputStreamReader isr=new InputStreamReader(System.in);

//Creación del filtro para optimizar la lectura de datos
BufferedReader br=new BufferedReader(isr);
System.out.print("Teclea el primer numero: ");

//Lectura de datos mediante el método readLine()
String texto1=br.readLine();

//Conversión a int de la String anterior para poder sumar
int num1=Integer.parseInt(texto1);

System.out.print("Teclea el segundo numero: ");
String texto2=br.readLine();
int num2=Integer.parseInt(texto2);

System.out.print("Teclea el Tercero numero: ");
String texto3=br.readLine();
int num3=Integer.parseInt(texto3);

int aux;
if(num1 < num2 && num1 < num3){
aux = num1;

}else if(num2 < num1 && num2 < num3){
aux = num2;

}else {
aux = num3;
}

System.out.println("El menor es:" +aux);

}
}

//binario.java


import java.io.*;

public class binario{

public muestra_binario(){

//Creación del flujo para leer datos
InputStreamReader isr=new InputStreamReader(System.in);

//Creación del filtro para optimizar la lectura de datos
BufferedReader br=new BufferedReader(isr);
System.out.print("Teclea el primer numero binario: ");

//Lectura de datos mediante el método readLine()
String texto1=br.readLine();

//Conversión a int de la String anterior para poder sumar
int num1=Integer.parseInt(texto1,2);
//int num1=Integer.parseInt(texto1);

System.out.print("Teclea el segundo numero binario: ");
String texto2=br.readLine();
int num2=Integer.parseInt(texto2,2);
//int num2=Integer.parseInt(texto2);

System.out.print("Teclea el Tercero numero binario: ");
String texto3=br.readLine();
int num3=Integer.parseInt(texto3,2);

System.out.println("Numero 1 en decimal: "+num1);
System.out.println("Numero 2 en decimal: "+num2);
System.out.println("Numero 3 en decimal: "+num3);

int auxMax;
if(num1 > num2 && num1 > num3){
auxMax = num1;

}else if(num2 > num1 && num2 > num3){
auxMax = num2;

}else {
auxMax = num3;
}

System.out.println("El mayor es:" +auxMax);


}
}

//hexadecimal.java


import java.io.*;

public class hexadecimal{

public muestra_hexadecimal(){

//Creación del flujo para leer datos
InputStreamReader isr=new InputStreamReader(System.in);

//Creación del filtro para optimizar la lectura de datos
BufferedReader br=new BufferedReader(isr);
System.out.print("Teclea el primer numero hexadecimal: ");

//Lectura de datos mediante el método readLine()
String texto1=br.readLine();

//Conversión a int de la String anterior para poder sumar
int num1=Integer.parseInt(texto1,16);
//int num1=Integer.parseInt(texto1);

System.out.print("Teclea el segundo numero hexadecimal: ");
String texto2=br.readLine();
int num2=Integer.parseInt(texto2,16);

System.out.print("Teclea el Tercero numero hexadecimal: ");
String texto3=br.readLine();
int num3=Integer.parseInt(texto3,16);
System.out.println("Numero 1 en decimal: "+num1);
System.out.println("Numero 2 en decimal: "+num2);
System.out.println("Numero 3 en decimal: "+num3);
int prom;

prom = (num1 + num2 + num3)/3;
System.out.println("El promedio: "+prom);

}
}

Bueno esos son los archivos, espero que me puedan ayudar, es super basico pero yo recien estoy entrando en el mundo de java.
Otra consulta, los resultados que obtengo en las clases decimal, binario y hexadecimal, son resultados en int, como los puedo pasar a sus respectivos tipos de datos ya sea binario o hexadecimal.
Por todo muchas gracias...
  #2 (permalink)  
Antiguo 16/06/2006, 07:36
 
Fecha de Ingreso: septiembre-2004
Mensajes: 21
Antigüedad: 19 años, 7 meses
Puntos: 0
Ninguna clase es derivaba de la otra, es por eso que no encuentro la forma de vincularlas, eh probado con packege pero no me resulta o será que lo estoy haciendo mal?, porfavor necesito su ayuda
  #3 (permalink)  
Antiguo 16/06/2006, 09:11
Avatar de stock  
Fecha de Ingreso: junio-2004
Ubicación: Monterrey NL
Mensajes: 2.390
Antigüedad: 19 años, 10 meses
Puntos: 53
mira, si las clases estan en el mismo paquete unicamente creas instancias de la clase que quieres usar, por ejemplo en tu clase inicio harias algo asi, en algun metodo donde lo necesites:

decimal d = new decial();
d.muestra_decimal();

decimal d2 = new decial();
d2.muestra_decimal();

lo que estas haciendo aqui es lo siguiente:

1.- Creas un espacio en la memoria para el objeto decimal, eso lo haces con la palabra reservada new, asu vez esa direccion la referencias con el identificador d, para que de esta manera puedeas accesar a esa direccion. digamos que d contiene la direccion de la memoria donde esta hubicado tu objeto decial.

2.- en la segunda linea lo que ahces es invocar el metodo muestra_decimal(); que pertenece al objeto decimal, entonces se ejecuta dicho metodo, es importante mencionar que puedes crear cuantos objetos quieras de tipo decimal, y cada uno de ellos sera independiete, pues estaran hubicados en diferentes posiciones de la memoria, y cada uno tendra los mismos metodos, las mismas propiedades, pero con Diferente valor, por lo tanto arrojarran diferentes resultados.

bueno, espero halla quedado todo claro, no quise meterme con la referencia de objetos y esas cosas por que te puedo confundir un poco, por hoy eso es suficiente!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:19.